我使用了sed 's/^/LP1-/'
,但是此命令还更改了以@开头的行。
@SQ SN:NbV1Ch16 LN:148804966
@SQ SN:NbV1Ch17 LN:145611047
@SQ SN:NbV1Ch18 LN:144482707
@SQ SN:NbV1Ch19 LN:137831541
@RG ID:OZBenth8_.fastp.fq.gz SM:OZBenth8_.fastp.fq.gz LB:OZBenth8_.fastp.fq.gz PL:ILLUMINA
@PG ID:bwa PN:bwa VN:0.7.17-r1188 CL:bwa mem OZBenth8_R1.fastp.fq.gz
HWI-ST945_0069:8:1101:1475:2032#NNNNNN 99 NbV1Ch07 110148523 60 100M = 110148853 430 CCAAAAAGCACAGCTGGACCAAACCGGCCCAAATATTGATAGCCGTCAGACTACGCCATGAGCGGAGTCCCCCAAGTTCGTTTGATAGAAAATTCAGGAC
CCCFFFFFHHHHHJJJJJJJJJJJHJJJJJJJJJJJJJIJJJIIJJJJJJJJHHHFFFDECEEDDDDDDDDDDDDACDEDDDDDDDEDDDDDDDDDDDDD NM:i:0 MD:Z:100 MC:Z:100M AS:i:100 XS:i:68 RG:Z:OZBenth8_.fastp.fq.gz
HWI-ST945_0069:8:1101:1475:2032#NNNNNN 147 NbV1Ch07 110148853 60 100M = 110148523 -430 AATCTTCTTCCAATTCCATGGCGGCCCAAAGTCACACGGCCTCTTCACTTTCTGAGGTTGCAAGAAGAACCACACAAAAAATATTGGGGGCTAAAATCCC
DDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEC=FFFHHHJJJJJJJIJHGIJJIBJJJIIJJJIJJJJJFIHJHJJJJJJJJJJJJJHHHHHFFFFFCCC NM:i:1 MD:Z:54T45 MC:Z:100M AS:i:95 XS:i:65 RG:Z:OZBenth8_.fastp.fq.gz
HWI-ST945_0069:8:1101:1446:2101#NNNNNN 83 NbV1Ch16 133875416 44 100M = 133874965 -551 ATATGTCTTATTCTTCTTCGACGAGTTTCAATCTAAAATTCAGTCAAAACCAAGTCTAATCTTCACCAAAACCCCTCAAAATTGAGATATAAACTCCTAA
DDDDDD
如何排除以@
开头的行以进行更改?
先谢谢您
答案 0 :(得分:2)
您可以使用
sed 's/^[^@]/LP1-&/'
在这里,^[^@]
与^
匹配行位置的开始,[^@]
匹配除@
以外的任何字符。 LP-&
将匹配项替换为LP1-
,并将匹配的字符替换为[^@]
。
要同时修改空行,请在行尾锚点$
后面加上一个替代项:
sed -E 's/^([^@]|$)/LP1-&/'
或使用GNU sed的BRE POSIX:
sed 's/^\([^@]\|$\)/LP1-&/'
答案 1 :(得分:1)
您可以在s
命令的前面加上一个否定的地址:
sed -s '/^@/!s/^/LP1-/'
答案 2 :(得分:0)
由gnu sed
sed 's/^([^@])/\1LP1-/'