2つの異なるファイルの2つの列を比較する方法

2つの異なるファイルの2つの列を比較する方法

2 つのファイルがあります。最初のファイルには次のような内容が含まれています。

a.com,5,some,text
b.com,10,some,text
c.com,5,some,text
d.com,12,some,text
e.com,5,some,text
c.com,5,some,text

2 番目には次のような内容が含まれます。

c.com,5,some,text
d.com,12,some,text
a.com,5,some,text
b.com,10,some,text
e.com,5,some,text
c.com,5,some,text

2 つのファイルの最初の 2 つの列を並べ替えて比較したいのですが、似ているはずです。違いがある場合は、その違いがどこにあるか知りたいです。

答え1

Bashの場合:

diff <(sort file1 | cut -d , -f 1-2) <(sort file2 | cut -d , -f 1-2)

ただし、diff表示されるのは 2 つの列だけなので、出力 (差異がある場合) はそれらの列に限定されます。これが受け入れられるかどうかはわかりません。

この単純な解決策は、ファイルがカンマ、引用符を扱うなど。この場合、より専門的なツールを使用する必要があります (たとえば、ファイルをスプレッドシートにインポートしてそこで作業するなど)。

関連情報