2
cat file1.txt
cheng 600
huang 500
pan 400
yin 300
cat file2.txt
600 a
300 c
, wenn ich den Befehl ausführen:Bash-Shell zwei Datei Spiel erfolgreich, aber Ausgang falsch
awk 'NR==FNR{a[$1]=$2;next}($2 in a){print $1,$2,a[$1]}' f2.txt f1.txt
Der Ausgang ist unter:
cheng 600
yin 300
Aber ich erwartete so sein sollte:
cheng 600 a
yin 300 c
was ist los?
ich sehe, sollte ich den Druckdialog mit eidt {$ 1, $ 2, a [$ 2] drucken}, kein [$ 1]. wie unten: awk 'NR == FNR {a [$ 1] = $ 2; nächste} ($ 2 in a) {print $ 1, $ 2, a [$ 2]}' f2.txt f1.txt –