eliminar de forma única líneas no deseadas en múltiples archivos

eliminar de forma única líneas no deseadas en múltiples archivos

Necesito eliminar datos innecesarios de varios archivos de salida. Parte de cada archivo tiene este aspecto.

# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:18697:4431_2:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# 0 hits found
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:26276:5181_1:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# Fields: subject title, query acc., subject acc., evalue, q. start, q. end, s. start, s. end
# 1 hits found
FJ712717_(modified) Trypanosoma brucei brucei from mouse 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1, complete sequence; and 5.8S ribosomal RNA gene, partial sequence  M03117:99:000000000-ALL7G:1:1101:26276:5181_1:N:0:196   FJ712717_(modified) 1.42e-137   1   271 53  323
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:26276:5181_2:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# Fields: subject title, query acc., subject acc., evalue, q. start, q. end, s. start, s. end
# 1 hits found
FJ712717_(modified) Trypanosoma brucei brucei from mouse 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1, complete sequence; and 5.8S ribosomal RNA gene, partial sequence  M03117:99:000000000-ALL7G:1:1101:26276:5181_2:N:0:196   FJ712717_(modified) 1.06e-87    1   197 436 236
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:10339:5290_1:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# 0 hits found
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:10339:5290_2:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# 0 hits found

Las primeras 4 líneas representan un resultado de salida.

# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:7647:16266_2:N:0:215
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# 0 hits found

Necesito eliminar todos los resultados de salida con 0 resultados, es decir, las 4 líneas (que se muestran arriba)

He notado que con un resultado de: 1 resultados encontrados, se agregaron 2 líneas adicionales. La sexta línea no comienza con el símbolo "#". ¿Cómo puedo utilizar el

grep -B

comando para hacer esto? Mi resultado esperado es un archivo con solo el resultado "1 resultados encontrados". como a continuación

# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:26276:5181_1:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# Fields: subject title, query acc., subject acc., evalue, q. start, q. end, s. start, s. end
# 1 hits found
FJ712717_(modified) Trypanosoma brucei brucei from mouse 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1, complete sequence; and 5.8S ribosomal RNA gene, partial sequence  M03117:99:000000000-ALL7G:1:1101:26276:5181_1:N:0:196   FJ712717_(modified) 1.42e-137   1   271 53  323
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:26276:5181_2:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# Fields: subject title, query acc., subject acc., evalue, q. start, q. end, s. start, s. end
# 1 hits found
FJ712717_(modified) Trypanosoma brucei brucei from mouse 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1, complete sequence; and 5.8S ribosomal RNA gene, partial sequence  M03117:99:000000000-ALL7G:1:1101:26276:5181_2:N:0:196   FJ712717_(modified) 1.06e-87    1   197 436 236
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:11481:5777_1:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# Fields: subject title, query acc., subject acc., evalue, q. start, q. end, s. start, s. end
# 1 hits found
JN673389_(modified) Trypanosoma congolense isolate TS07210 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1, 5.8S ribosomal RNA gene, and internal transcribed spacer 2, complete sequence; and 28S ribosomal RNA gene, partial sequence M03117:99:000000000-ALL7G:1:1101:11481:5777_1:N:0:196   JN673389_(modified) 2.04e-105   1   231 23  253
# BLASTN 2.3.0+
# Query: M03117:99:000000000-ALL7G:1:1101:11481:5777_2:N:0:196
# Database: /home/alex/blast/db/tryps_ITS/tryps_ITS_db
# Fields: subject title, query acc., subject acc., evalue, q. start, q. end, s. start, s. end
# 1 hits found
TCU22315_(modified) Trypanosoma congolense IL1180 18S, 5.8S, 28S-LS1, srRNA1, complete sequence, and 28S-LS2 ribosomal RNA, partial sequence    M03117:99:000000000-ALL7G:1:1101:11481:5777_2:N:0:196   TCU22315_(modified) 1.40e-75    1   156 1176    1021

Respuesta1

Puede utilizar tacpara invertir las líneas del archivo y eliminar 3 líneas antes del patrón coincidente, incluida la línea que contiene el patrón coincidente sed, de esta manera:

tac filename | sed '/0 hits/I,+3 d' | tac

y si desea editar el archivo en el lugar, puede usar -ila opción en sedel comando como,

tac filename | sed -i '/0 hits/I,+3 d' filename | tac

información relacionada