grep ADB logcat и записать вывод в текстовый файл
Я хочу grep ADB logcat и записать вывод в текстовый файл. Если я просто сделаю
./adb logcat > std.txt
он записывает весь журнал в текстовый файл и если я делаю
./adb logcat | grep ABC
он печатает все строки, содержащие ABC, на мой терминал. Но теперь я хочу найти ABC и записать только эти строки в текстовый файл.
./adb logcat | grep ABC > std.txt
не работает. Помощь Plz.
7 ответов
Я думаю, что есть проблема с буферизацией grep. Вы можете попробовать что-то вроде этого:
./adb logcat | grep --line-buffered ABC > std.txt
это должна быть та же проблема для прикованного grep.
EDIT: аналогичный вопрос можно найти здесь:почему при использовании grep дважды не отображается вывод?.
это работает для меня:
./adb logcat | grep ABC | dd of=/home/levex/dump.txt
объяснение: ./adb logcat
открывает logcat, а затем он проходит по трубе в grep ABC
какие фильтры строк, содержащих ABC
, а потом опять через трубу в dd of=/home/levex/dump.txt
чтобы, наконец, распечатать его в файл.
изменить: Кажется, это работает
./adb logcat |grep --line-buffered ABC >a.txt
Я могу объяснить вам, что происходит здесь. Надеюсь, кто-то сможет извлечь из этого решение.Если вы запустите следующую команду в terminal
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
что-то вроде этого, возможно, ищет все записи со временем word, testapk1 и testapk2
adb logcat -v time testapk1 testapk2 *:S -d > adblogfilter.log
Сохранить LogCat В Текстовый Файл
" для сохранения LogCat в текстовый файл откройте окно терминала и введите: adb logcat-d > logcat.txt"