我有2个文件,如下所示
File1
USA,China,India,Canada
File2
Iran|XXXXXX|Iranian
Iraq|YYYYYY|Iraquian
Saudi|ZZZZZ|Saudi is a Rich Country
USA|AAAAAA|USA is United States of America.
India|IIII|India got freedom from British.
Scot|SSSSS|Canada Mexio.
如何使用awk读取File1中的值并检查它是否与File2中的第一个定界字符串匹配?我已经尝试过了,但是我无法实现。请帮忙。
对于上述输入,输出应为
USA Matches
China Not Matched
India Matches
Canada Not Matches
答案 0 :(得分:3)
请您尝试以下。
awk 'FNR==NR{a[$1];next} {for(i=1;i<=NF;i++){if($i in a){print $i,"Matches"} else {print $i,"Not Matches."}}}' FS="|" Input_file2 FS="," Input_file1
答案 1 :(得分:1)
您也可以尝试Perl
$ cat vinoth1
USA,China,India,Canada
$ cat vinoth2
Iran|XXXXXX|Iranian
Iraq|YYYYYY|Iraquian
Saudi|ZZZZZ|Saudi is a Rich Country
USA|AAAAAA|USA is United States of America.
India|IIII|India got freedom from British.
Scot|SSSSS|Canada Mexio.
$ perl -F, -lane ' BEGIN { $x=qx(cat vinoth2) } print $_,$x=~/^$_/m ? " matches" : " not matches" for(@F) ' vinoth1
USA matches
China not matches
India matches
Canada not matches