2つのテキストファイルから同じ行を削除する方法は?

2つのテキストファイルから同じ行を削除する方法は?

入力(テキストファイル2個):

> cat foo.txt 
alpha
beta
delta
> 

そして

> cat bar.txt 
gamma
epsilon
beta
> 

出力(両方のファイルに表示される行を削除):

> SOMEMAGIC foo.txt < bar.txt > foofixed.txt
> cat foofixed.txt
alpha
delta
> 

そして

> SOMEMAGIC bar.txt < foo.txt > barfixed.txt
> cat barfixed.txt
gamma
epsilon
> 

質問:どうすればいいですか?

ベストアンサー1

使用できますが、comm入力を並べ替える必要があります。

comm -23 <(sort foo.txt) <(sort bar.txt) > foofixed.txt
comm -13 <(sort foo.txt) <(sort bar.txt) > barfixed.txt

-23これは、「ファイル1に固有の行のみを表示」を意味します。

おすすめ記事