2つのファイルで、片方のファイルにしかない行を表示するには

ファイル a.txt が

$ cat a.txt
x
y

ファイル b.txtが

$ cat b.txt 
y
z

のとき、a.txt にしかない「x」を取り出したい。

まず、a.txt と b.txt を重複行を取り出して、a_and_b.txt に保存します。

$ cat a.txt b.txt | sort | uniq -d >a_and_b.txt
$ cat a_and_b.txt
y

a.txt と a_and_b.txt の重複しない行を取り出します。

$ cat a.txt a_and_b.txt | sort | uniq -u
x

a.txt自体や b.txt 自体に重複行があるときは、重複行を取り除いておきます。

$ cat a.txt 
x
y
x
y
$ sort a.txt | uniq >a_uniq.txt
$ cat a_uniq.txt
x
y
タイトルとURLをコピーしました