Zeilenumbrüche zwischen Ergebnissen in grep

Zeilenumbrüche zwischen Ergebnissen in grep

Ich muss gelegentlich einen Spider überwachen, den ich auf meinem Server laufen habe. Ich teste ihn, um zu sehen, wie viele Iterationen gleichzeitig laufen und ob eine davon hängen bleibt.

Ich benutze das:

echo `ps -ewwo args | grep '^[^ ]*curl'`

und die Ausgabe erfolgt in einer Zeile. Wenn ich das ändere in

echo `ps -ewwo args | grep -n '^[^ ]*curl'`

Ich erhalte die Zeilennummern, aber die Ausgabe erfolgt immer noch komplett in einer Zeile. Wie kann ich die Ergebnisse in einzelne Zeilen aufteilen?

Als Test habe ich so etwas gemacht wie

grep "br" /home/user/www/index.php

und es hat viele Instanzen gefunden und sie jeweils in einer separaten Zeile ausgegeben, genau wie ich es möchte.

Antwort1

Wenn Sie die Ausgabe einer `...`Subshell nicht in Anführungszeichen setzen, werden die Zeilenumbrüche durch Leerzeichen ersetzt. Wenn Sie die Zeilenumbrüche möchten, verwenden Sie keine `...`Subshell, sondern führen Sie einfach die Befehle aus und lassen Sie sie die Ausgabe selbst durchführen, ohne echoüberhaupt etwas zu verwenden, zum Beispiel:

ps -ewwo args | grep '^[^ ]*curl'
ps -ewwo args | grep -n '^[^ ]*curl'

verwandte Informationen