如果字段重复则删除行
如果第一个字段重复,则寻找 awk(或 sed)单行代码以从输出中删除行。
我见过的删除重复行的一个例子是:
awk 'a !~ $0; {a=$0}'
尝试使用它作为基础,但没有运气(我认为将 $0 更改为 $1 可以解决问题,但似乎不起作用)。
Looking for an awk (or sed) one-liner to remove lines from the output if the first field is a duplicate.
An example for removing duplicate lines I've seen is:
awk 'a !~ $0; {a=$0}'
Tried using it for a basis with no luck (I thought changing the $0's to $1's would do the trick, but didn't seem to work).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是关联数组的标准(非常简单)用法。
This is a standard (very simple) use for associative arrays.
这是删除重复项的方法
this is how to remove duplicates
如果您愿意使用 Perl:
-a
会自动将行分割到@F
数组中,该数组的索引从 0 开始%a
哈希会记住第一个字段是否已被看到此相关解决方案假设您的字段分隔符是逗号,而不是空格
If you're open to using Perl:
-a
autosplits the line into the@F
array, which is indexed starting at 0The
%a
hash remembers if the first field has already been seenThis related solution assumes your field separator is a comma, rather than whitespace
它打印重复项的唯一值和单个值
it print the unique as well as single value of the duplicates