我想比较F11.txt
中的第二个字段和F22.txt
中的第一个字段。然后,将匹配的案例打印为“可用”,将不匹配的案例打印为“NotFound”。
输入:
F11.txt
a,10,zzz
b,20,zzz
c,50,zzz
F22.txt
10,yyy
20,yyy
30,yyy
40,yyy
尝试过以下命令,
awk -F "," 'NR==FNR{a[$1]=$0;next}{print $0 "," (a[$2]?a[$2]:"NotFound") }' f22.txt f11.txt
得到以下输出:
a,10,zzz,10,yyy
b,20,zzz,20,yyy
c,50,zzz,NotFound
在哪里更改命令以打印为Available
,而不是从匹配案例F22.txt
打印订单项。
预期产出:
a,10,zzz,Available
b,20,zzz,Available
c,50,zzz,NotFound
更新问题: 如果字段$ 4不为空,如何包含一个以上的条件然后打印Avilable&未发现进入第4场本身
example Input: F11.txt
a,10,zzz
b,20,zzz,yyy
c,50,zzz
Expected Output:
a,10,zzz,Available
b,20,zzz,yyy
c,50,zzz,NotFound
答案 0 :(得分:1)
使用此:
awk -F "," 'NR==FNR{a[$1]=$0;next}{print $0 "," (a[$2]?"Available":"NotFound") }' f22.txt f11.txt