私は、ファイル内の1列目のためのawkを使って大文字小文字を区別しないVLOOKUPをやろうとしているが、そのはIGNORECASEを無視しても、3列に比較する方法と同じのawkを使用して小文字に一致しない大文字小文字を区別しないawkのVLOOKUP
awk -F, 'BEGIN{IGNORECASE=1} FNR==NR{a[$1]=$3","$4;next} {print (($1 in a) ? $0","a[$1] : $0",NA,NA");}'
cat f1.txt
FOO,LONDON,45,789
goo,US,46,9876
cat f2.txt
FOO,LONDON,45,789
GOO,US,46,9876
awk -F, 'BEGIN{IGNORECASE=1} FNR==NR{a[$1]=$3","$4;next} {print (($1 in a) ? $0","a[$1] : $0",NA,NA");}' f1.txt f2.txt
FOO,LONDON,45,789,45,789
GOO,US,46,9876,NA,NA
を
GNU Awk's
tolower()
機能を使用して、どのように代わりに最初の列 –の第三列のパターンマッチングをします@ Inian、最初の列の代わりに3列目のパターンマッチング方法。どちらのファイルも大文字と小文字が混在しています。この場合、小文字に変換されて一致します。 –
@ sam_84:それはこの範囲を超えてまったく新しい質問です。あなたは入力と必要な出力を持つ新しいものとしてそれを聞かせますか? – Inian