Como quebrar a saída do comando watch?

9

Considere o seguinte comando:

watch -d "ps -ef | grep java"

Ele fornece a seguinte saída:

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

A saída além -Dfile.eé truncada ou sai da tela. Como posso rolar para ver a saída ou quebrá-la?

Usando foldsem relógio: insira a descrição da imagem aqui

Usando foldcom relógio: insira a descrição da imagem aqui

Kshitiz Sharma
fonte

Respostas:

7

Canalize a saída para dobrar para envolver a saída em uma largura especificada (padrão 80):

watch -d "ps -efww | grep '[j]ava' | fold -s"
  • Use o -wsinalizador de pspara saída ampla e duas vezes para saída ilimitada.
  • fold -s quebra nos espaços.
  • Observe também o grepcomando. Eu mudei javapara [j]ava. Dessa forma, o grepprocesso não corresponderá na pssaída.
caos
fonte
1
Embora a dobra pareça funcionar bem por si só. Com watcha saída ainda está sendo cortada -Dfile.e.
Kshitiz Sharma
2

Além do que, além do mais:

Você também pode tentar especificar a largura; isso fará pleno uso da largura da tela.

No meu caso, o seguinte fornece uma saída perfeitamente formada. Personalize o parâmetro width conforme o tamanho do seu monitor / terminal:

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