ファイル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
要求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