列Aの値が次の行に繰り返されると、両方の行が削除されます

列Aの値が次の行に繰り返されると、両方の行が削除されます

私の入力は次のとおりです。

pak_c35079_g1_i1|m.14890    Pfam  
pak_c20797_g1_i1|m.3458     ProDom  
pak_c20797_g1_i1|m.3458     Pfam  
pak_c28265_g1_i3|m.9595     TIGRFAM  
pak_c28265_g1_i3|m.9595     Pfam  
.  
.  
.  

私は次の出力が欲しい:

pak_c35079_g1_i1|m.14890    Pfam
pak_c28265_g1_i3|m.9595     TIGRFAM
pak_c28265_g1_i3|m.9595     Pfam   

つまり、次の行(列A)で値が繰り返されると、両方の行が削除されます。

ベストアンサー1

あなたはこれを行うことができますawk

awk 'BEGIN {last=""; last_line=""} { if (last == $1) {} else {print last_line} last=$1; last_line = $0}' < file_to_proceed

私は専門家ではありませんawk。最後の行に問題があるでしょう...

おすすめ記事