我想查看我网站访问日志的实时输出。我只想查看某些类型的条目,在本例中,是与“.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
进行切割,这样每一行都不会比我的屏幕长?
最佳答案
我建议使用 bash:
tail -f access-log | fgrep ".php" --line-buffered | cut -c 1-$COLUMNS
关于Linux tail + grep + less,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44032957/