例如:文件是
The
Second one.
Second one.
Second
Third
Third
我使用'uniq -f 1 uniq.txt',输出是
The
Second one.
Second
作为语法,我忽略了第一个字段,输出应该是:
Second one.
Second
为什么???!!!!
你得到的结果是正确的,因为你使用了 tool uniq
。
注意:'uniq' 不会检测重复的行,除非它们是相邻的。
线The
和Second
不相邻。
对于行:
Second
Third
Third
它起作用了,因为它们是相邻的。
如果您更改文件,如下所示:
Second one.
Second one.
Second
The
Third
Third
您的 uniq 命令将给出预期的结果。
这就是你想知道的原因。
要获得最佳结果,请始终在运行sort
之前运行uniq
,因为uniq
只能比较相邻行。
该术语field
与 for 具有相同的含义awk
:它指的是一个以白色字符(或行首/行尾)为界的单词。整行称为一条记录。-f
在command的选项上下文中uniq
,它只是意味着您忽略每行的第一列。
相反,请tail
按如下方式使用:
'uniq -f 1 uniq.txt | tail -n +2'