![2개의 csv 파일을 비교하여 차이점만 변수로 출력](https://linux55.com/image/129240/2%EA%B0%9C%EC%9D%98%20csv%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B9%84%EA%B5%90%ED%95%98%EC%97%AC%20%EC%B0%A8%EC%9D%B4%EC%A0%90%EB%A7%8C%20%EB%B3%80%EC%88%98%EB%A1%9C%20%EC%B6%9C%EB%A0%A5.png)
1.csv:
rundeck-read-only-iam-permissions,IAMReadOnlyAccess
citrix-xendesktop-ec2-provisioning",AmazonEC2FullAccess
2.csv:
citrix-xendesktop-ec2-provisioning",AmazonEC2FullAAA
citrix-xendesktop-ec2-provisioning",AmazonS3FullAccess
rundeck-read-only-iam-permissions,IAMReadOnlyAccess
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq,qqqqqqqqqqqqqqqq
순서가 다르니 참고하세요
파일 2.csv의 차이점을 파일 1.csv와 비교하고 싶습니다(그리고 1.csv의 주문과 일치하도록 2.csv의 주문 행).
변경 사항이 없으면 인쇄: 1.csv 파일의 행이 변경되면 변경된 행 + 행 내용을 인쇄합니다. 1.csv 파일의 행이 누락된 경우 "삭제된 행 + 행" 내용, 행이 파일 1.csv에 추가된 경우 "행 추가" + 행 내용 인쇄, 지금까지 이것을 가지고 있으며 원하는 출력을 인쇄하지만 추가/제거된 내용을 감지할 수 있습니까?
comm -1 -3 <(sort 1.csv) <(sort 2.csv)
citrix-xendesktop-ec2-provisioning",AmazonEC2FullAAA
citrix-xendesktop-ec2-provisioning",AmazonS3FullAccess
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq,qqqqqqqqqqqqqqqq
답변1
diff
당신이 원하는 도구일지도 모릅니다. 다음은 세 가지 예제 파일입니다.
$ paste foo bar baz
aaa aaa aaa
aaa aaa aaz
aaa aaa aaa
$ if diff <(sort foo) <(sort bar); then echo "No differences"; fi
No differences
$ if diff <(sort foo) <(sort baz); then echo "No differences"; fi
3c3
< aaa
---
> aaz