Ich muss unnötige Daten aus mehreren Ausgabedateien entfernen. Ein Teil jeder Datei sieht so aus
# 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
Die ersten 4 Zeilen stellen ein Ausgabeergebnis dar
# 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
Ich muss alle Ausgabeergebnisse mit 0 Treffern entfernen, also alle 4 Zeilen (siehe oben).
Ich habe festgestellt, dass bei einem Ergebnis von: 1 Treffer gefunden 2 zusätzliche Zeilen hinzugefügt werden. Die 6. Zeile beginnt nicht mit dem Symbol "#". Wie kann ich das
grep -B
Befehl, um dies zu tun? Meine erwartete Ausgabe ist eine Datei mit nur dem Ergebnis „1 Treffer gefunden“. wie unten
# 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
Antwort1
Sie können tac
die Zeilen der Datei umkehren und drei Zeilen vor dem passenden Muster löschen, einschließlich der Zeile, die das passende Muster enthält sed
, und zwar wie folgt:
tac filename | sed '/0 hits/I,+3 d' | tac
und wenn Sie die Datei direkt bearbeiten möchten, können Sie -i
eine Option im sed
Befehl verwenden wie:
tac filename | sed -i '/0 hits/I,+3 d' filename | tac