Подтвердить что ты не робот

Grep adb logcat и напишите вывод в текстовый файл

Я хочу grep logcat adb и записать вывод в текстовый файл. Если я просто делаю

./adb logcat > std.txt

он записывает весь журнал в текстовый файл, а если я делаю

./adb logcat | grep ABC

он печатает все строки, содержащие ABC, на моем терминале. Но теперь я хочу искать ABC и писать только эти строки в текстовый файл.

./adb logcat | grep ABC > std.txt

не работает. Справка Plz.

4b9b3361

Ответ 2

Изменить: Кажется, это работает

 ./adb logcat |grep --line-buffered  ABC >a.txt

Я могу объяснить вам, что происходит с ней. Надежда, что кто-то может получить решение от этого. Если вы запустите следующую команду в терминале

cat |grep "ABC"

и начните вводить строки текста, вы увидите, что grep сразу выводит любые строки, которые содержат.

 cat somefile.txt | grep "ABC" 

будет печатать все строки, содержащие "ABC" на терминале, как ожидалось.

Но если вы запустите

cat |grep ABC >a.txt

и начните вводить текст на терминале, вы увидите, что файл не записан до тех пор, пока вы не введете символ EOF (Ctrl + D) и не завершите работу cat.

Но использование -line-buffered дает результат ожидаемым образом

cat |grep --line-buffered  ABC >a.txt

Ответ 3

Это работает для меня:

./adb logcat | grep ABC | dd of=/home/levex/dump.txt

Объяснение: ./adb logcat открывает логарифм, а затем он проходит через канал до grep ABC, который фильтрует строки, содержащие строки ABC, а затем снова через канал до dd of=/home/levex/dump.txt, чтобы окончательно распечатать его в файл. Параметр of=xxx устанавливает выходной файл.

Ответ 4

Попробуйте это

./adb logcat -s "ABC" > std.txt

Ответ 5

Что-то вроде этого, возможно, ищет все записи со словом time, testapk1 и testapk2

adb logcat -v time testapk1 testapk2 *:S -d > adblogfilter.log 

Ответ 6

Попробуйте adb logcat | grep ABC | tee out