Shell/bash Programmierung Ubuntu Ausgabeumlenkung

2 Antworten

Hallo

Ich muss aus einer Dateit, deren Ausgabe folgendes beinhaltet:

Was beinhaltet die Datei denn nun?

das grep ist dazu da um die viele Leerzeichen zu löschen.

grep löscht doch keine Zeichen!

Du gibst mit awk die Spalte 6 (egal ob mit einem oder mehreren Leerzeichen oder einem Tab getrennt) aus. Dein grep unterdrückt die Ausgabe von Zeilen wo direkt nach dem Zeilenanfang das Zeilenende kommt, also Leerzeilen.

awk -F\" '{print$6}' test.txt | grep -v '^$' > $value

Deine Ausgabeumlenkung soll in eine Variable gehen, aber nicht so!

Besser so:

grep -v '^$' test.txt | awk -F\" '{print$6}' > ausgabedatei

Um dann in eine Variable zu schreiben ist eine while-Schleife das Mittel der Wahl.

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

In $value wird ein ungültiger Wert drinstehen, wahrschienlich mit Leerzeichen drin. Das wird dann, wenn Du bei der output redirection als Ziel $value ohne doppelte Anführungsstriche drumherum verwendest, als "mehrere Parameter" interpretiert. Und weil es hinter dem ">" für die output redirection steht, ist das dann eben mehrdeutig.