Eliminar filas en un file csv simplificado (una nueva línea por fila) en function de un valor de columna específico

Tengo un file csv con los siguientes encabezados: Interaction_ID, PDB_ID, First_Residue, First_Chain, Second_Residue, Third_Residue, Third_Chain & Pattern:

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 

Lo que me gustaría hacer es eliminar filas en el file csv donde Pattern =% Type 0% y luego imprimir el file csv resultante. El resultado debería ser así:

 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 

¿Cómo puedo hacer esto usando awk?

Con awk , puedes hacer:

 $ 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 

o usando grep :

 grep -v 'Type 0' file 

Usando awk :

 awk -F, '$9!~/Type 0/{print $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 

Explicación:

Esto hace que awk use , como delimitador ( -F, ). Si el noveno campo no contiene "Tipo 0" ( $9!~/Type 0/ ), imprima la línea ( {print $0} ).

Y una solución sed :

 sed '/,[^,]*Type 0[^,]*$/d' file