나는 서로 다른 두 텍스트를 비교하고 싶습니다. 아래 내용과 필요한 사항을 확인해주세요
첫 번째 텍스트 내용:
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 } '
(다음 줄 끝 |
)