如果字段重复,则删除行

Kyl*_*yle 14 awk sed

如果第一个字段是重复的,则寻找awk(或sed)单行来从输出中删除行.

删除我看过的重复行的示例是:

awk 'a !~ $0; {a=$0}'
Run Code Online (Sandbox Code Playgroud)

尝试使用它作为没有运气的基础(我认为将0美元改为1美元就可以了,但似乎没有用).

Jon*_*ler 26

awk '{ if (a[$1]++ == 0) print $0; }' "$@"
Run Code Online (Sandbox Code Playgroud)

这是关联数组的标准(非常简单)用法.


gho*_*g74 10

这是如何删除重复项

awk '!_[$1]++' file
Run Code Online (Sandbox Code Playgroud)

  • 使用'_'作为数组名称会引起误解 - 但它确实有效. (3认同)