我有一个这样的文件:
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
修改了一些简单的事情,比如在文件的每一行的开头添加一个前缀;但是我不能把我的思想放在这个问题上! 最佳答案
您可以使用这个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
关于regex - 通过在特定位置添加前缀来编辑文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26510015/