как использовать grep и sed в adb logcat

В настоящее время я использую grep в сочетании с adb logcat (api консоли Android). Теперь я хочу редактировать каждую строку на лету, используя sed в конвейере. Однако при использовании sed после grep вывод становится пустым.Кто-нибудь знает почему? Также: adb logcat продолжает работать с grep, что может быть частью проблемы, однако я не знаю, как это исправить

вот пример

$ adb logcat | grep "Average inference"

дает мне

04-16 13:51:19.528  8065  8065 E tflite  : Average inference timings in us: Warmup: 38350.1, Init: 2158247, Inference: 70339.2Overall max resident set size = 65.7773 MB, total malloc-ed size = 0 MB, in-use allocated/mmapped size = 10.3201 MB  
04-16 13:51:19.528  8065  8065 E tflite  : Average inference timings in us: Warmup: 38350.1, Init: 2158247, Inference: 70339.2Overall max resident set size = 65.7773 MB, total malloc-ed size = 0 MB, in-use allocated/mmapped size = 10.3201 MB  

Теперь я хочу использовать этот канал для извлеките все числа (после "Warmup")

sed -e 's/^.*Warmup//' -e 's/[^0-9.0-9]/ /g' 

, чтобы получить следующий результат

38350.1 2158247 70339.2 65.7773 0 10.3201
38350.1 2158247 70339.2 65.7773 0 10.3201

, однако

adb logcat | grep "Average inference" | sed -e 's/^.*Warmup//' -e 's/[^0-9.0-9]/ /g' 

дает мне только пустой результат

Обновление:

В общем, adb logcat дает мне много произвольных результатов, которые я бы нужно подавить. Таким образом, типичный вывод будет выглядеть как

05-04 20:18:00.063  5670  6838 I LiveIconUtil: mIconDpi : 480 , mTargetIconDpi : 240
05-04 20:18:00.081  5670  6838 I AppIconSolution: load= live icon for com.sec.android.app.clockpackage, from overlay = false
05-04 20:18:00.082  5670  6838 I LauncherActivityInfo: Load live icon for com.sec.android.app.clockpackage
05-04 20:18:00.082  5670  6838 I LauncherActivityInfo: packageName: com.sec.android.app.clockpackage, useThemeIcon: false, height: 144, width: 144, density: 480
05-04 20:18:00.103  5670  5670 E libprocessgroup: set_timerslack_ns write failed: Operation not permitted
05-04 20:18:00.138  5270  5270 W GraphicUtils: getTextEmpty : skipped with null text
05-04 20:18:00.138  5270  5270 W GraphicUtils: setLinearGradientTextColor : skipped with null text
05-04 20:18:03.232  4462  4462 I SurfaceFlinger: SFWD update time=991188773612812
04-16 13:51:19.528  8065  8065 E tflite  : Average inference timings in us: Warmup: 38350.1, Init: 2158247, Inference: 70339.2Overall max resident set size = 65.7773 MB, total malloc-ed size = 0 MB, in-use allocated/mmapped size = 10.3201 MB  
04-16 13:51:19.528  8065  8065 E tflite  : Average inference timings in us: Warmup: 38350.1, Init: 2158247, Inference: 70339.2Overall max resident set size = 65.7773 MB, total malloc-ed size = 0 MB, in-use allocated/mmapped size = 10.3201 MB  
...

. Так что мне все равно нужно было бы grep строки «Средний вывод», только с использованием вместо этого sed, как предлагает @FritjofLarsson

1
задан 16 April 2021 в 19:38

0 ответов

Другие вопросы по тегам:

Похожие вопросы: