【发布时间】:2017-10-17 09:28:09
【问题描述】:
我想查看我网站访问日志的实时输出。我只想查看某些类型的条目,在这种情况下,匹配“.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 进行剪切,这样每一行都不会比我的屏幕长?
【问题讨论】:
-
SO 是针对编程问题,而不是关于使用或配置 Linux 的问题。 SuperUser.com 或 unix.stackexchange.com 将是解决此类问题的更好地方。
-
很抱歉,我认为这看起来更像是一个脚本,而不像 linux 的配置。我可以用 PHP 或任何其他语言实现同样的目标
-
不是配置,只是普通命令行工具的使用。诚然,复杂的命令行和脚本之间有一条模糊的界线。但一个好的经验法则 (IMO) 是,如果它是一个没有变量的单行代码,它就不是真正的脚本。
-
你当然是对的,这就是为什么我赞成你的评论。我不介意比我更精明的人将这个问题转移到另一个堆栈交换站点。
标签: linux grep feed tail less-unix