使用 AWK 我需要获取输出

使用 AWK 我需要获取输出

文件1

1
2
3
4
5
a
b
c

文件2

1*a*b*c*d
2*a*d*e*d
3*a*b*y*d
6*a*b*c*d
7*a*b*c*d
8*a*b*c*d
9*a*b*c*d
10*a*b*c*d 

REQ 1:打印不匹配的记录(来自文件1)

REQ2:打印匹配的记录(文件2中的数据)

答案1

匹配的

$ awk -F\* 'NR==FNR{Arr[$0];next}($1 in Arr)' file1 file2
1*b*c*d
2*a*d*e*d
3*a*b*y*d

无与伦比的

$ awk -F\* 'NR==FNR{a=substr($0,1,1);Arr[a];next}!($0 in Arr)' file2 file1
4
5
a
b
c

如果您提供真实且良好的示例数据,那么我们很容易给出更现实的解决方案

答案2

awk -F, 'FNR==NR {f2[$1];next} !($0 in f2)' file1 file2
awk -F, 'FNR==NR {f2[$1];next} ($0 in f2)' file2 file1

相关内容