如何实时过滤adb logcat输出并将其重定向至文件?
实时过滤adb logcat并保存到文件的正确方法
你的问题出在重定向顺序上:adb logcat > ~/Desktop/logcat.txt会把命令的标准输出(stdout)直接写入文件,导致管道|后面的grep接收不到任何输入,所以过滤后的文件是空的。
直接过滤并保存(无需保留原始日志)
用以下命令让adb的实时输出直接通过grep过滤,结果写入目标文件:
adb logcat | grep "Sync execution" > ~/Desktop/logcatFiltered.txt
执行后,符合"Sync execution"的日志行会实时写入logcatFiltered.txt,按Ctrl+C停止捕获。
同时保存原始日志和过滤后的日志
如果需要保留完整日志的同时生成过滤文件,可以用tee命令实现输出分流:
adb logcat | tee ~/Desktop/logcat.txt | grep "Sync execution" > ~/Desktop/logcatFiltered.txt
这个命令会把adb的实时输出同时写入原始日志文件logcat.txt,并将输出传给grep过滤,最终把符合条件的内容写入logcatFiltered.txt。
内容的提问来源于stack exchange,提问作者the_prole
相关产品推荐
相关产品推荐

