Es ist nicht grep, es ist ps . Fügen Sie die -ww
Optionen ( ps -efww
) hinzu, um alle Zeilen immer auszugeben.
Das Ändern der Terminalgröße hat Auswirkungen auf die Ausgabe von grep innerhalb eines Watch-Befehls
Wenn ich einen Befehl wie:
watch "ps -ef | grep '^foo.*bar'"
und die übereinstimmende Ausgabezeile von ps -ef
ist eine lange Zeile
foo <lots and lots of text here> bar
Ob diese Zeile ausgegeben wird, hängt von der Terminalgröße ab. Wenn das Terminal beispielsweise als Vollbild angezeigt wird und diese Zeile auf dem Bildschirm angezeigt wird, wird die Ausgabe in Watch angezeigt. Wenn ich jedoch die Fenstergröße auf die Hälfte der Bildschirmgröße verkleinere, so dass der Balken vom Bildschirm abgeschnitten wird, wird die Grep-Linie vollständig ausgeblendet (vermutlich wird die Linie abgeschnitten, bevor sie in der Pipeline grep wird). Dies ist ein Problem, weil ich versuche, einen Teil dieser Zeile für die spätere Verwendung zu extrahieren.
Gibt es eine Lösung, um zu verhindern, dass die Terminalgröße die Ausgabe von grep innerhalb eines Überwachungsbefehls beeinflusst?
2 Antworten auf die Frage
Ich weiß nicht, was die richtigen Lösungen sind, aber das scheint das Problem zu beheben.
watch "COLUMNS=160 ps -ef | grep '^foo.*bar'"
auf Kosten der Zeilen von ps gefaltet. Ändern Sie "160", um lang genug für die längste "foo. * Bar" -Linie zu sein, die Sie erwarten.
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
9
X-Schritte in X-Sitzungen "trennen" und "neu anhängen"?
-
1
Windows-Datumsrepräsentation
-
9
grep alle .java-Dateien in einem Verzeichnis für eine bestimmte Zeichenfolge
-
1
Ist kill -STOP ein temporärer Befehl?
-
2
Anzahl der Zeilen und Spalten in VT420 ändern?
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
3
Hör auf, cron mich zu mailen