特定の列値に基づいて単純化されたcsvファイルから行を削除する(1行につき1行)

特定の列値に基づいて単純化されたcsvファイルから行を削除する(1行につき1行)

Interaction_ID、PDB_ID、First_Residue、First_Chain、Second_Residue、Third_Residue、Third_Chain、およびPatternヘッダーを含むcsvファイルがあります。

AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG                            
AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG                           
AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG                           
AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG                            
AM_AUTO_5,1e7k,A33,C,C28,C,G45,C,A-minor Type 0 AGC                            
AM_AUTO_6,1e7k,A33,D,C28,D,G45,D,A-minor Type 0 AAU

私が望むのは、csvファイルからPattern = %Type 0%行を削除してから、結果のcsvファイルを印刷することです。結果は次のようになります。

AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG                            
AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG                           
AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG                           
AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG  

これを行うには、どのようにawkを使用しますか?

ベストアンサー1

を使用すると、awk次のことができます。

$ awk '$(NF-1)!=0' file
AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG
AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG
AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG
AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG

または以下を使用してくださいgrep

grep -v 'Type 0' file

おすすめ記事