Ich möchte den Befehl system
in einem awk-Skript ausführen und dessen Ausgabe in einer Variablen speichern. Ich habe versucht, dies zu tun, aber die Ausgabe des Befehls geht immer an die Shell und ich kann sie nicht erfassen. Irgendwelche Ideen, wie das gemacht werden kann?Zuweisung der Ausgabe des Systembefehls an die Variable
Beispiel:
$ date | awk --field-separator=! {$1 = system("strip $1"); /*more processing*/}
Sollte das strip
Systembefehl aufrufen und statt der Ausgabe an die Schale zu senden, sollte die Ausgabe zurück zu $1
für weitere Verarbeitung zuzuweisen. Rignt sendet nun die Ausgabe an die Shell und weist den Retode des Befehls $1
zu.
nit: Der Ausgang nicht an die Schale geht, es wird an das Terminal /Konsole. Die Shell liest keine Ausgabe ihrer untergeordneten Elemente - sie teilen nur Dateideskriptoren, die demselben tty zugeordnet sind. –