Pregunta:
Tengo un archivo y quiero eliminar toda la línea si tiene un punto en la quinta columna.
Fichero de entrada:
sc2/80 20 . A C 80 PASS N=2 F=5;U=4
sc2/60 55 . G . 72 PASS N=2 F=5;U=4
sc2/68 20 . T A 71 PASS N=2 F=5;U=4
sc2/10 24 . T . 31 PASS N=2 F=5;U=4
sc2/40 59 . T . 31 PASS N=2 F=5;U=4
sc2/24 24 . A G 38 PASS N=2 F=5;U=4
Rendimiento esperado:
sc2/80 20 . A C 80 PASS N=2 F=5;U=4
sc2/68 20 . T A 71 PASS N=2 F=5;U=4
sc2/24 24 . A G 38 PASS N=2 F=5;U=4
Nota: El archivo tiene un tamaño de 64G y 690.000.000 de líneas. ¿Existe una solución eficiente ya que es un conjunto de datos bastante grande? Preferiría Awk y Sed ya que soy nuevo en el campo. Gracias por tu ayuda.
Respuesta:
Puedes probar esto
awk '{ if ( $5 != "." ) { print $0; } }' input_file.Txt > output_file.txt
Esto probará si la quinta columna no es un punto y mostrará la línea.