2つのcsvファイルを比較し、違いのみを変数として出力

2つのcsvファイルを比較し、違いのみを変数として出力

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あなたが望むツールかもしれません。以下は3つのサンプルファイルです。

$ 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

おすすめ記事