Bash

我想刪除重複記錄並刪除 awk 中的那些行

  • September 18, 2022

我想檢查第 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  }'

我假設“重複記錄”是指在連續行上重複。如果不是,並且您想考慮整個文件中的唯一記錄,則首先對第二個欄位中的數據進行排序 ( sort -k 2,2 file)。

使用uniq

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

這在進行比較時會忽略第一個以空格分隔的欄位 ( -f 1),然後輸出在連續行上-u重複的所有行 ( )。

引用自:https://unix.stackexchange.com/questions/717721