最上位パターンを除いて、sedから一致するすべてのパターンを削除する方法は? [コピー]

最上位パターンを除いて、sedから一致するすべてのパターンを削除する方法は? [コピー]

ファイル.txt

1.1.1.1 abc 
1.1.1.1 ccc
1.2.2.2 ddd
1.2.2.2 qqq
1.2.2.2 zzz

予想される結果:

1.1.1.1 abc
1.2.2.2 ddd

私は試した:

sed -i '/1.1.1.1/d' file.txt 

sed -i '/2.2.2.2/d' file.txt 

ただし、1つの結果を残さずにすべての結果を削除します。一致するパターンをすべて削除して1を残す方法は?

ベストアンサー1

sortこのオプションを使用すると、--unique必要なものを取得できます。

$ sort --unique --key=1,1 file.txt
1.1.1.1 abc
1.2.2.2 ddd

または簡単に言えば

sort -uk1,1 file.txt

この--uniqueオプションは、同じフィールドを持つ処理された行を抑制し、最初の --key=1,1フィールドをソートキー(スタートそして終了位置)。

おすすめ記事