我想看到我的网站访问日志的实时输出。在本例中,我只想看到与".php“匹配的条目的尾尾类型。
这很好,但是行换到下一行,我不想这样:
tail -f access-log | fgrep ".php" --line-buffered这可以很好地避免行包装,但它没有被过滤:
less +F -S access-log我更喜欢看不带行的文件,因为在输出中更容易看到结构,这就是我想要less -S的地方。
这样做是可行的,但是“游标”并不停留在文件的底部,我输入的任何命令都会使less挂起(按"SHIFT + f“表示在流出现时停留在底部):
tail -f access-log | fgrep ".php" --line-buffered | less -S但这根本行不通:
tail -f access-log | fgrep ".php" --line-buffered | less +F -S那么,有没有办法实现我想要的呢?
我也采用了开箱即用的解决方案,也许用sed进行裁剪,这样每一行都不会超过我的屏幕?
发布于 2017-05-17 19:20:16
我建议:
tail -f access-log | fgrep ".php" --line-buffered | cut -c 1-$COLUMNS发布于 2017-05-17 19:17:57
考虑使用watch命令:
watch -n1 tail access-log | fgrep ".php" --line-buffered
发布于 2017-05-17 22:35:44
我已经在我的案例中使用了公认的答案,但我想如果我真的想少用一些,因为我喜欢它也提供的其他功能,我可以这样做:
tail -f access-log | fgrep ".php" --line-buffered >> tmp.access-log然后
less -S +F tmp.access-log当我完成时,如果我不需要那个tmp文件,我只需删除它。
https://stackoverflow.com/questions/44032957
复制相似问题