入力(テキストファイル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に固有の行のみを表示」を意味します。