我想在以下模式之后插入换行符
lcl | NC_005966.1_gene_750
虽然最后一个数字(在本例中为750)发生了变化。数字范围为1-3407。 我怎么能告诉sed将这个模式保持在一起而不是在第一个数字之后将它们分开?
到目前为止我找到了
sed's / lcl | NC_005966.1_gene _ [[:digit:]] /& \ n / g'file
但是在第一个数字之后,这会中断。
答案 0 :(得分:1)
尝试:
sed 's/lcl|NC_005966.1_gene_[[:digit:]]*/&\n/g' file
(请注意*
)
或者,您可以说:
sed '/lcl|NC_005966.1_gene_[[:digit:]]/G' file
会在遇到指定模式后添加换行符。
答案 1 :(得分:0)
sed 's/lcl|NC_005966\.1_gene_[[:digit:]][[:digit:]]*/&\
/g' file
您需要转义.
,因为它是一个RE元字符,您需要[[:digit:]][[:digit:]]*
来表示1-or-more digits
,您需要使用\
后跟一个字面换行符来实现可移植性跨越seds。