
複数のファイルがあります(ファイル1.txtそしてファイル2.txt)そして私はunix "comm"コマンドを使ってこれらのファイルを比較し、file1.txtで一意の行を見つけます。
以下はfile1.txtの行です。
OD1
EN2
OD3
OD4
OD5
EN6
EN7
EN8
EN9
OD10
OD11
OD12
以下はfile2.txtの行です。
EN1
EN2
EN3
OD4
OD5
EN6
EN7
EN8
EN9
OD10
私が使用するコマンドは次のとおりです。
comm -23 file1.txt file2.txt
実際
結果:
OD1
OD10
OD11
OD12
OD3
予想する
私はそれを楽しみにしています:
OD1
OD11
OD12
OD3
期待される結果を得る方法を教えてください。
答え1
ファイルはアルファベット順にソートする必要があります。それ以外の場合はcomm
動作しません。
順番に並べ替えてもう一度やり直してください。
または以下を使用してください。
comm -23 <(sort file1.txt) <(sort file2.txt)
答え2
使用
sdiff -s file1.txt file2.txt | awk '{print $1}' | sort -u
出力は次のとおりです
OD1
OD11
OD12
OD3