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時計での使用: ここに画像の説明を入力してください

回答:


7

パイプで出力を折りたたみ、指定された幅(デフォルトでは80)で出力をラップします。

watch -d "ps -efww | grep '[j]ava' | fold -s"
  • ワイド出力にはの-wフラグを使用し、ps無制限の出力には2回使用します。
  • fold -s スペースで改行します。
  • grepコマンドにも注意してください。に変更javaしました[j]ava。この方法では、grepプロセスはps出力で自分自身と一致しません。

1
折り目はそれ自体でうまく機能するようですが。でwatch出力がまだでカットを得ています-Dfile.e
Kshitiz Sharma

2

加えて:

幅を指定することもできます。これにより、画面の幅が最大限に活用されます。

私の場合、以下は完全に形成された出力を与えます。モニター/端末サイズごとに幅パラメーターをカスタマイズしてください:

watch -d "ps -ef --width 1000 | grep java | grep -v grep  "
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.