当前位置: 技术问答>linux和unix
grep输出的相关问题
来源: 互联网 发布时间:2016-12-15
本文导语: 问题1:有一个5G多的日志文件,想用grep 查询一些信息出来,结果没有反应,这是为什么?如何解决? 问题2: tail -f 日志文件 | grep xxx 这样的命令屏幕上是有显示的 而 tail -f 日志文件 | grep xxx > 11.log 或...
问题1:有一个5G多的日志文件,想用grep 查询一些信息出来,结果没有反应,这是为什么?如何解决?
问题2:
tail -f 日志文件 | grep xxx 这样的命令屏幕上是有显示的
而
tail -f 日志文件 | grep xxx > 11.log 或者
tail -f 日志文件 | grep xxx >> 11.log 或者
tail -f 日志文件 | grep xxx | tee 11.log
这些命令 会创建11.log 却实际上并未写入任何数据,请问如何解决
问题2:
tail -f 日志文件 | grep xxx 这样的命令屏幕上是有显示的
而
tail -f 日志文件 | grep xxx > 11.log 或者
tail -f 日志文件 | grep xxx >> 11.log 或者
tail -f 日志文件 | grep xxx | tee 11.log
这些命令 会创建11.log 却实际上并未写入任何数据,请问如何解决
|
-f是实时的 需要手动结束了 才会交给grep 直接指定一下最后的行数 再grep 比如最后100行
tail -100 test.txt | grep xxx > 11.log
tail -100 test.txt | grep xxx > 11.log
|
跟pipe buffering神马的有关系 看了一下grep的帮助文档 使用--line-buffered参数应该就可以了
tail -f 日志文件 | grep --line-buffered xxx >> 11.log
tail -f 日志文件 | grep --line-buffered xxx >> 11.log