Grep adb logcat и напишите вывод в текстовый файл
Я хочу grep logcat adb и записать вывод в текстовый файл.
Если я просто делаю
./adb logcat > std.txt
он записывает весь журнал в текстовый файл, а если я делаю
./adb logcat | grep ABC
он печатает все строки, содержащие ABC, на моем терминале. Но теперь я хочу искать ABC и писать только эти строки в текстовый файл.
./adb logcat | grep ABC > std.txt
не работает. Справка Plz.
Ответы
Ответ 1
Я думаю, что есть проблема с буферизацией grep. Вы можете попробовать что-то вроде этого:
./adb logcat | grep --line-buffered ABC > std.txt
Это должна быть та же проблема для прикованного grep.
EDIT: аналогичный вопрос можно найти здесь: Почему вывод не отображается при использовании grep дважды?.
Ответ 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
Ответ 7
Сохранить LogCat в текстовый файл
"Чтобы сохранить LogCat в текстовом файле, откройте окно терминала и введите: adb logcat -d > logcat.txt"