Hi liebe Experten,
bei der Ausgabe von top will ich die Leerzeichen am jedem Zeilenanfang löschen, bevor ich das Ganze dann weiter verarbeite:
1 | top -n1 | sed 's/^[ ]*//g' |
Passiert aber nix. lässt man das ^ weg, werden wunderbar alle Leerzeichen gelöscht. Das funktioniert. Auch alle anderen Befehle wie grep oder awk tun ihren Dienst, solange man nicht mit ^ auf den Zeilenanfang zugreifen will. Die eckigen Klammern kann man in diesem Beispiel auch weg lassen. Das * auch. Egal, ob man Leerzeichen, Zahlen oder Text am Zeilenanfang sucht, nix geht. Bei Ausgaben von anderen Tools wie z.B. free klappt der obige Befehl. Vermutlich hat die Ausgabe von top nicht die üblichen Zeilenendezeichen? Auch der Umweg über Speichern der Ausgabe von top in einer Datei und Wiedereinlesen z.B. mit grep führt nicht zum Ergebnis. Wie bekommt man das gelöst?
PS: Ich will die Leerzeichen am Anfang weg haben, weil nicht jede Zeile in der Ausgabe von top Leerzeichen am Zeilenanfang hat, und somit z.B. awk '/Suchbegriff/ {print $9}' je nachdem mal die neunte und mal die achte Spalte ausgibt.
Linux-Version: Raspbian GNU/Linux 7 (wheezy).
Grüße Michael