我有一个看起来像这样的文件:
fixedStep chrom=20 start=1 step=1000
0
10
20
100
0
fixedStep chrom=19 start=1 step=1000
0
0
50
330
450
0
我想在chr
之后的数字中添加前缀chrom=
。因此,我希望拥有chrom=20
或chrom=19
,而不是chrom=chr20
或chrom=chr20
。所以文件应该如下所示:
fixedStep chrom=chr20 start=1 step=1000
0
10
20
100
0
fixedStep chrom=chr19 start=1 step=1000
0
0
50
330
450
0
我知道使用sed
命令我可以做到这一点,但我不知道如何构建一个找到regex
部分的chrom=
。我已经使用sed
来修改简单的事情,比如在文件的每一行的开头添加前缀;但我无法围绕这个问题思考!
答案 0 :(得分:4)
您可以使用此sed
命令:
sed 's/\(chrom=\)/\1chr/g' file
fixedStep chrom=chr20 start=1 step=1000
0
10
20
100
0
fixedStep chrom=chr19 start=1 step=1000
0
0
50
330
450
0
\(chrom=\)
搜索chrom=
并将其捕获到第1组,以便用于替换模式\1chr
。
或者更简单:
sed 's/chrom=/&chr/g' file
答案 1 :(得分:1)
sed 's/chrom=/chrom=chr/' filename
输出:
fixedStep chrom=chr20 start=1 step=1000 0 10 20 100 0 fixedStep chrom=chr19 start=1 step=1000 0 0 50 330 450 0