我想删除重复的记录并删除 awk 中的那些行

我想删除重复的记录并删除 awk 中的那些行

我想检查第 2 列中的重复记录并删除 awk 中的这些行

create a
delete a
create b
create c
delete c
create d
delete f
create f
create g
create h

预期输出

create b
create d
create g
create h

尝试使用此命令在 awk 上但得到其他方式,但不是确切的结果

注意:AWK不是强制性的

awk -F" " '{ if( (++count[$2]==2) ) print  }'

答案1

我假设“重复记录”是指在连续行上重复。如果不是,并且您想要考虑整个文件中的唯一记录,则首先对第二个字段的数据进行排序 ( sort -k 2,2 file)。

使用uniq

$ uniq -f 1 -u file
create b
create d
create g
create h

这在进行比较时会忽略第一个空白分隔字段 ( -f 1),然后输出所有符合的行不是在连续行上重复 ( -u)。

相关内容