如何包装 watch 命令的输出?

如何包装 watch 命令的输出?

考虑以下命令:

watch -d "ps -ef | grep java"

它给出以下输出:

kshitiz  11369 11285  0 Oct13 ?        00:06:02 /usr/lib/jvm/jdk1.7.0_40/jre/bin/java -Djava.awt.headless=true -Didea.version==14.1.2 -Xmx512m -Dfile.e

超出的输出-Dfile.e被截断或流出屏幕。如何滚动查看输出或自动换行?

fold不戴手表 使用:在此输入图像描述

fold与手表一起 使用:在此输入图像描述

答案1

将输出通过管道传递到折叠,以将输出包装在指定的宽度(默认为 80):

watch -d "ps -efww | grep '[j]ava' | fold -s"
  • 使用-w标志ps进行宽输出,使用两次标志进行无限输出。
  • fold -s在空格处中断。
  • 还要注意grep命令。我java改为[j]ava.这样,该grep进程在输出中就不会与自己匹配ps

答案2

此外:

您也可以尝试指定宽度;这将充分利用您的屏幕宽度。

就我而言,以下给出了完美的输出。请根据您的监视器/终端尺寸自定义宽度参数:

watch -d "ps -ef --width 1000 | grep java | grep -v grep  "

相关内容