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、無限出力にはフラグを 2 回使用します。
  • fold -sスペースでリラックスしてください。
  • grepまた、コマンドに注意してください。javaに変更しました。[j]avaこれにより、grepプロセスは出力に一致しませんps

答え2

また:

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

私の場合は、次のように完全な出力を提供します。モニター/端末のサイズに応じて幅パラメーターをカスタマイズします。

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

関連情報