awk - Variables Ergebnis der Systemfunktion zuweisen

0

Ich möchte ein variables Ergebnis der Systemfunktion zuweisen:

awk 'BEGIN{x=system("cut -d \" \" -f 1 ol");print x}'

Eingabe "ol":

1

Ergebnis:

1
0
diego9403
quelle

Antworten:

1

Ich glaube nicht, dass es einen direkten und einfachen Weg gibt, das zu tun. Sie müssen auf temporäre Dateien oder auf diese Methode zurückgreifen (Inhalt von 'input': "value in ol"):

 awk -v cut_result=$( awk 'BEGIN{system("cut -d \" \" -f 1 ol")}' ) '{print $0, cut_result}' input

Ergebnis: "Wert in ol 1"

Die Ausgabe von awk wird also in eine Variable umgewandelt, die in einen anderen Aufruf von awk als Variable "cut_result" eingespeist wird.

Erik Bryer
quelle