在 UNIX shell 下,如何获得与watch命令类似的效果,但使用分页功能,以便在输出超过一个屏幕时可以滚动显示?
换句话说,我想要一个程序是watch什么less是cat.
例如,假设我想观看 的输出qstat,我可以使用
watch qstat
Run Code Online (Sandbox Code Playgroud)
观看qstat的输出,但这只能显示第一个屏幕。
使用 的分页版本watch,我将能够在输出中移动,因为它仍由watch. 目前有没有办法使用现有的实用程序来做到这一点?
我想做这样的事情:
watch tail -f | wc -l
#=> 43
#=> 56
#=> 61
#=> 44
#=> ...
Run Code Online (Sandbox Code Playgroud)
它每秒计算新的尾部线条
/ Linux、CentOs
要更清楚。我有这样的事情:
tail -f /var/log/my_process/*.log | grep error
Run Code Online (Sandbox Code Playgroud)
我正在阅读一些错误消息。现在我想数一数。一秒钟内我有多少〜错误。所以日志中的一行是过程中的一个错误。
我想看一个文件每 5 分钟被覆盖一次less。我怎样才能less跟随新的文件描述符而不是保持旧的显示?watch "cat file"不会这样做,因为文件太长而无法放入一个终端窗口。
这个问题一直困扰着我一段时间:我想使用奇妙的 GNUwatch命令来运行一些在我的 .bashrc 中定义的自定义别名和函数,但它永远无法运行除了 bash 内置程序或二进制文件之外的任何东西。
watch -d foo
输出总是: foo: command not found
如何让它继承我的环境或使用 .bashrc?
谢谢你。
我有一个日志文件,偶尔会出现严重错误。每次发生严重错误时,我都希望向自己发送一封电子邮件,通知我所做的更改。是否有我可以为此目的调整的 unix 工具/一组 unix 工具?
我想做的是
tail -f logfile | grep CRITICAL > critical.errors
watch tail critical.errors # And somehow, email on changes.
Run Code Online (Sandbox Code Playgroud)
但是, watch 命令不会执行任何操作。所以......有没有像'watch'这样的东西。或者也许是一个很好的现有脚本可以做到这一点?我可以自制一个 bash/python 解决方案,但我宁愿重用现有工具来进行更清晰的错误处理等。