두 파일을 비교하고 내용을 인쇄합니다.

두 파일을 비교하고 내용을 인쇄합니다.

두 파일을 비교하고 출력에 두 파일의 고유 콘텐츠 + 첫 번째 파일의 공통 콘텐츠가 포함되기를 원합니다.

예:-

파일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유지된 값입니다.

관련 정보