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 

요청 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

관련 정보