亚行 |搜索引擎优化 | cut 没有显示结果...但是 cat |搜索引擎优化 |切没问题

adb | grep | cut not showing result... but cat | grep | cut is ok

在使用 adb、grep 和 cut 时遇到一些问题。我在下面有一个命令

adb logcat | grep MYTEXT

这是几个用“:”分隔的文本的结果。

如果我使用下面的方法删除“:”之前的文字,那是行不通的。

adb logcat | grep MYTEXT | cut -d':' -f 2-

但是,如果我先转储到一个文件中,然后再执行相同的操作。有效。

adb logcat > mylog.out
cat mylog.out | grep MYTEST | cut -d':' -f 2-

我可以使用这种方法作为解决方法,但我不想先转储到 mylog.out 作为脚本中的临时步骤。

有没有人指教一下?谢谢!

假设这里没有拼写错误 (MYTEXT/MYTEST) 或其他类似问题,那么这可能与数据缓冲和数据量有关。

告诉 grep 使用 --line-buffered 选项按行缓冲其输出可能会有所帮助。

adb logcat | grep --line-buffered MYTEXT | cut -d':' -f 2-

可能会使用 unbufferstdbuf 实用程序。