【发布时间】:2013-01-20 00:53:41
【问题描述】:
我想 grep adb logcat 并将输出写入文本文件。 如果我只是这样做
./adb logcat > std.txt
它将整个日志写入文本文件,如果我这样做了
./adb logcat | grep ABC
它将所有包含 ABC 的行打印到我的终端。但现在我希望搜索 ABC 并仅将这些行写入文本文件。
./adb logcat | grep ABC > std.txt
不起作用。请帮忙。
【问题讨论】:
-
我看到了同样的问题。如果我执行
adb logcat | grep ABC会产生字符串“XYZ”,然后执行adb logcat | grep ABC | grep XYZ我什么也得不到。而且我绝对肯定会生成包含“ABD”和“XYZ”的输出行。这是怎么回事? -
哪个主机操作系统,哪个 grep?作品例如在我的 OS X 上使用提供的 BSD grep
-
如果您使用 eclipse,您可以使用特殊的“保存”按钮来完成此操作...:P
-
嘿,检查我的答案。这是一个有效的解决方案! :)
-
感谢所有出色的答案。这很有意义,grep 在返回之前缓冲了大量来自 logcat 的输出。因此,无论管道中的 grep 之后是什么,只有在准备好从 grep 发出大量数据时才会接收输出。但是通过在 grep 中对其进行行缓冲,grep 将在管道中向前过滤时发出每一行。
标签: android file text grep logcat