두 파일을 비교하고 출력에 두 파일의 고유 콘텐츠 + 첫 번째 파일의 공통 콘텐츠가 포함되기를 원합니다.
예:-
파일A.txt
A=x
B=y
C=z
파일B.txt
A=p
D=q
E=r
산출:-
A=x
B=y
C=z
D=q
E=r
이 문제를 해결하도록 도와주세요. 모든 명령이나 셸 스크립트를 사용할 수 있도록 Linux 서버에서 이 작업을 수행하고 싶습니다.
답변1
당신은 그것을 사용할 수 있습니다 awk
:
$ awk -F= '{a[$1]++; if(a[$1]==1){print}}' A.txt B.txt
A=x
B=y
C=z
D=q
E=r
설명하다
a[$1]++;
: 첫 번째 필드를 배열의 키로 저장a
하고 해당 키와 연결된 값을 1씩 증가시킵니다. 즉, 키가 처음 표시될 때(예: 처음A=x
) 값은 1이 되지만 두 번째에는 2가 됩니다. 이를 통해 고유한 요소를 계산할 수 있습니다.if(a[$1]==1){print}
: 첫 번째 필드가 한 번만 나타나면 인쇄합니다.
B.txt
나중에 처리 중이므로 A.txt
의 값이 A.txt
유지된 값입니다.