文件.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
第一个字段定义为排序键(开始和结束位置)。