내가 파일에 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()
함수를 사용하는 방법 대신 첫 번째 열 –의 3 열에 대한 패턴 일치에 @ Inian, 첫 번째 열 대신에 세 번째 열에 패턴 매치하는 법. 두 파일 모두 대문자와 소문자가 혼합 된 조합으로,이 경우 소문자로 변환되어 일치를 수행합니다. –
@ sam_84 :이 주제를 벗어나는 완전히 새로운 질문입니다. 입력과 출력이 필요한 새 것으로 요청할 수 있습니까? – Inian