Ich habe eine Datei wiesed fastq regex
head testSed.fastq
@M01551:51:000000000-BCB7H:1:1101:15800:1330 1:N:0:NGTCACTN+TATCCTCTCTTGAAGA
NGTCACTN
+
#>AAAAF#
@M01551:51:000000000-BCB7H:1:1101:15605:1331 1:N:0:NATCAGCN+TAGATCGCCAAGTTAA
NATCAGCN
+
#>>AA?C#
@M01551:51:000000000-BCB7H:1:1101:15557:1332 1:N:0:NCAGCAGN+TATCTTCTATAAATAT
NCAGCAGN
Und ich bin versucht zu ersetzen Sie die Zeichenfolge nach dem letzten Doppelpunkt mit 0
(in diesem Beispiel auf den Linien 1,5,9 finden und ersetzen - aber global) mit einem regulären Ausdruck.
Ich habe meine Regex mit egrep egrep '[ATGCN]{8}\+[ATGCN]{16}$' testSed.fastq
überprüft, die alle Zeilen zurückgibt, die ich erwarten würde.
Wenn ich jedoch versuche, sed -i 's/[ATGCN]{8}\+[ATGCN]{16}$/0/g' testSed.fastq
zu verwenden, ist die ursprüngliche Datei unverändert und es tritt kein Austausch auf.
Wie kann ich das beheben? Ist meine Regex nicht spezifisch genug?
Sie müssen entkommen '{}' oder verwenden '-E/-r' – 123
können Sie erarbeiten? – skurp
@skurp, schlägt Benutzer 123 'sed -E-i ...' vor, um erweiterte reguläre Ausdrücke im egrep-Stil zu aktivieren. –