두 개의 다른 텍스트를 비교 - 동일하고 다른 것을 발견

두 개의 다른 텍스트를 비교 - 동일하고 다른 것을 발견

나는 서로 다른 두 텍스트를 비교하고 싶습니다. 아래 내용과 필요한 사항을 확인해주세요

첫 번째 텍스트 내용:

111 xx1
222
333
555

두 번째 텍스트 내용:

333
111 xxx
222
888

내 질문

아래 결과를 인쇄할 수 있는 명령 하나를 검색 중입니다.

"업데이트:111xxx"

"삭제:555"

"추가:888"

가장 중요한 것은 제목에 "업데이트", "삭제", "추가"가 표시되어야 한다는 것입니다.

답변1

당신이 찾고있는

diff <(sort file1) <(sort file2)

줄 것이다

1c1
< 111XZ
---
> 111 xxx
3a4
> 888

파일 1의 데이터에는 "<"를, 파일 2의 데이터에는 ">"를 사용합니다.

출력에 참고하세요. 이는 의사 ed표기법입니다.

  • c라인 변경을 의미합니다
  • a추가한다는 뜻
  • d삭제를 의미합니다(위 샘플에는 없음).

넌 할 수있어

diff <(sort file1) <(sort file2) |
awk '$1 == "<" {$1=" in file1 } $1== ">" { $1="in file2" } { print } '

(다음 줄 끝 |)

답변2

diff당신은 그것을 사용할 수 있습니다 . 출력 형식에 익숙해지기만 하면 됩니다. 편리한 가이드가 있습니다여기. GUI가 있는 항목에는 다음이 있습니다.융합하다.

관련 정보