如何包装watch命令的输出?


9

考虑以下命令:

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与手表搭配使用: 在此处输入图片说明

Answers:


7

用管道将输出折叠以将输出包装为指定的宽度(默认为80):

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

1
尽管折叠本身似乎很好用。随着watch输出仍被削减-Dfile.e
Kshitiz Sharma 2015年

2

此外:

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

在我的情况下,以下给出了完美形成的输出。根据您的监视器/终端大小自定义width参数:

watch -d "ps -ef --width 1000 | grep java | grep -v grep  "
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.