Datenextraktion mit dem Befehl "awk"

Geschlossen
Yakuza - 26. Mai 2011 um 18:12
 Aries28 - 27. Mai 2011 um 10:40
Hallo,

ich möchte Daten von einer Datei, die wie folgt

line_number:data1_line1:data2_line1:data3_line1
line_number:data1_line2:data2_line2:data3_line2
line_number:data1_line3:data2_line3:data3_line3

organisiert sind, importieren.

ich will jeweils eine Zeile extrahieren, nähmlich mit folgenden Befehlen :

var='cat ${/home/jpassema/test_awk.txt} | awk -v server="" 'BEGIN {} $1 == "$line_number}" var=$2;}END{print var}''

Aber ich bekomme einen Syntaxfehler :

./test_awk.sh: line 26: syntax error near unexpected token 'server='cat ${/home/jpassema/test_awk.txt} | awk -v server="" 'BEGIN {} $1 == "${$i}" {server=$2;}END{print server}''

Ich danke euch im Voraus für eure Hilfe

1 Antwort

Hallo,

cat ${/home/jpassema/test_awk.txt}
Die Syntax ist nicht die richtige ;-(

Falls "/home/jpassema/test_awk.txt" keine Variable wäre, die "${...}" sind nicht notwendig :

cat /home/jpassema/test_awk.txt

reicht vollkommen.


Klammern fehlen bei:

== "$line_number}"

== "${line_number}"

"cat" + eine pipe ist nicht nötig, du kannst deine Datei direkt an "awk" übergeben:

awk -v server="" 'BEGIN {} $1 == "${line_number}" var=$2;}END{print var}' /home/jpassema/test_awk.txt


;-))
0
Treten Sie der Community bei