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'