关于awk:比较两个文件并打印Available和NotFound


Compare two files and print Available and NotFound

我想比较F11.txt中的第二个字段和F22.txt中的第一个字段。然后,将匹配的案例打印为"可用",将不匹配的案例打印为" NotFound"。

输入:

F11.txt

1
2
3
a,10,zzz
b,20,zzz
c,50,zzz

F22.txt

1
2
3
4
10,yyy
20,yyy
30,yyy
40,yyy

尝试过以下命令,

1
awk -F"," 'NR==FNR{a[$1]=$0;next}{print $0"," (a[$2]?a[$2]:"NotFound")  }' f22.txt f11.txt

获得以下输出:

1
2
3
a,10,zzz,10,yyy
b,20,zzz,20,yyy
c,50,zzz,NotFound

在哪里更改命令以打印为Available,而不是为匹配情况打印F22.txt中的行项目。

预期输出:

1
2
3
a,10,zzz,Available
b,20,zzz,Available
c,50,zzz,NotFound

更新问题:
如果字段$ 4不为空,如何添加一个条件,然后打印Avilable


使用此:

1
awk -F"," 'NR==FNR{a[$1]=$0;next}{print $0"," (a[$2]?"Available":"NotFound")  }' f22.txt f11.txt