Comment envelopper la sortie de la commande watch?

9

Considérez la commande suivante:

watch -d "ps -ef | grep java"

Il donne la sortie suivante:

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

La sortie au -Dfile.e- delà est tronquée ou sort de l'écran. Comment puis-je faire défiler pour voir la sortie ou le mot envelopper?

Utilisation foldsans montre: entrez la description de l'image ici

Utilisation foldavec montre: entrez la description de l'image ici

Kshitiz Sharma
la source

Réponses:

7

Canalisez la sortie à plier pour envelopper la sortie à une largeur spécifiée (par défaut 80):

watch -d "ps -efww | grep '[j]ava' | fold -s"
  • Utilisez le -wdrapeau de pspour une sortie large et deux fois pour une sortie illimitée.
  • fold -s pauses dans les espaces.
  • Notez également la grepcommande. J'ai changé javapour [j]ava. De cette façon, le grepprocessus ne correspondra pas à lui-même dans la pssortie.
le chaos
la source
1
Bien que le pli semble bien fonctionner tout seul. Avec watchla sortie est toujours en train de se couper -Dfile.e.
Kshitiz Sharma
2

En plus:

Vous pouvez également essayer de spécifier la largeur; cela fera pleinement usage de la largeur de votre écran.

Dans mon cas, ce qui suit donne une sortie parfaitement formée. Personnalisez le paramètre de largeur selon la taille de votre moniteur / terminal:

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