1

我想在以下模式之后插入换行符

lcl|NC_005966.1_gene_750

而最后一个数字(在本例中为 750)发生了变化。数字在 1-3407 的范围内。我如何告诉 sed 将这种模式保持在一起,而不是在第一个数字之后将它们分开?

到目前为止我发现

sed 's/lcl|NC_005966.1_gene_[[:digit:]]/&\n/g' 文件

但这在第一个数字之后中断了。

4

2 回答 2

1

尝试:

sed 's/lcl|NC_005966.1_gene_[[:digit:]]*/&\n/g' file

(注意*

或者,您可以说:

sed '/lcl|NC_005966.1_gene_[[:digit:]]/G' file

这将在遇到指定模式后添加一个换行符。

于 2013-07-16T10:19:51.603 回答
0
sed 's/lcl|NC_005966\.1_gene_[[:digit:]][[:digit:]]*/&\
/g' file

您需要转义.,因为它是 RE 元字符,并且您需要[[:digit:]][[:digit:]]*表示1-or-more digits并且需要使用\后跟文字换行符以实现跨 sed 的可移植性。

于 2013-07-16T14:59:20.500 回答