次の2つのファイルタブを分割しました。
ファイル1:
KEY1 TEXT1
KEY2 TEXT2
KEY3 TEXT3
ファイル2:
KEY1 111
KEY2 222
KEY3 333
「aaa」、「bbb」が静的テキストである次の目標を達成したいと思います。
aaa TEXT1 bbb 111 ccc KEY1 ddd
aaa TEXT2 bbb 222 ccc KEY2 ddd
aaa TEXT3 bbb 333 ccc KEY3 ddd
次のコードを実行しています。
awk -F'\t' -f vlookup.awk file1 file2
vlookup.awkは次のとおりです。
FNR==NR{
a[$1]=$2
next
}
{ if ($1 in a) { print "aaa", a[$1], "bbb", $2} else {print $1, "ERROR"}}
これは最初の部分では機能しますが、追加するとすぐに"ccc", $1, "ddd"
結果がめちゃくちゃになります。たとえば、次のようになります。
aaa cccXT1 KEY111ddd1
ありがとう dk
ベストアンサー1
$ cat vlookup.awk
BEGIN { OFS="\t" }
FNR==NR{
a[$1]=$2
next
}
#{ if ($1 in a) { print "aaa", a[$1], "bbb", $2} else {print $1, "ERROR"}}
{ if ($1 in a) { print "aaa", a[$1], "bbb", $2, "ccc", $1, "ddd" } else {print $1, "ERROR"}}
$ awk -F'\t' -f vlookup.awk file1 file2
aaa TEXT1 bbb 111 ccc KEY1 ddd
aaa TEXT2 bbb 222 ccc KEY2 ddd
aaa TEXT3 bbb 333 ccc KEY3 ddd