ich eine sich wiederholende Text haben, möchte ich mit einem anderen mehrmals ein Etikett sorgfältig ersetzen, I don Geist Methode sedawk oder ein anderer zu wiederholen. Daher würde ich zuerst die ersten beiden Matches ersetzen wollen, dann nach den ersten 4, 6 usw. Ich möchte keinen für, ich brauche nur so etwas wie den Code unten, ich möchte die ersten beiden Matches überspringen und dann erhöhen Sie diese Zahl.sed oder awk ersetzen N nach ignorierend Spiele
sed 's/foo/bar/2g' fileX
awk '{ sub(/foo/,"bar"); print }' fileX
Hier ist ein Beispiel. Zwei Ereignisse pro Zeile
blastx -q specie.fa -db pep -num 6 -max 1 -o 6 > specie.x.outfmt6
blastp -q specie.pep -db pep -num 6 -max 1 -o 6 > specie.p.outfmt6
blastx -q specie.fa -db pep -num 6 -max 1 -o 6 > specie.x.outfmt6
blastp -q specie.pep -db pep -num 6 -max 1 -o 6 > specie.p.outfmt6
Wunsch Ausgang
blastx -q dog.fa -db pep -num 6 -max 1 -o 6 > dog.x.outfmt6
blastp -q dog.pep -db pep -num 6 -max 1 -o 6 > dog.p.outfmt6
blastx -q worm.fa -db pep -num 6 -max 1 -o 6 > worm.x.outfmt6
blastp -q worm.pep -db pep -num 6 -max 1 -o 6 > worm.p.outfmt6
Ich habe keine Ahnung, was Sie sagen. Zuerst sagen Sie, dass Sie die ersten zwei Übereinstimmungen ersetzen möchten, dann sagen Sie, dass Sie die ersten zwei Übereinstimmungen überspringen möchten. Welches ist es? Vielleicht zeige Sample-Eingang und die gewünschte Ausgabe. – Barmar
können Sie eine Beispieleingabe/-ausgabe bereitstellen. – zee
Ich habe oben ein Beispiel angegeben. –