0

我正在尝试使用 替换TSV文件中的一些文本sed,但我被正则表达式卡住了。

这是一行的示例:

0   NA  intron (NR_045393, intron 2 of 2)   intron (NR_045393, intron 2 of 2)   1089 

我想替换intron (NR_045393, intron 2 of 2)intron, 以获得:

0   NA  intron  intron  1089 

要匹配的模式可以是内含子(NM_001081221, intron 1 of 20)intron (NM_144536, intron 5 of 15)

我尝试替换模式如下,但我正在努力做到这一点

sed -i 's/intron.(\([a-zA-Z0-9\/_]\+\)\/,\s[a-zA-Z]\s[0-9]\s[a-z]\s[0-9])/intron/g' test 
4

2 回答 2

1

如果您只想删除括号中的任何内容,只需使用

sed -e 's/([^)]*)//g'

要同时删除左括号前的空格,请将其添加到正则表达式:

sed -e 's/ ([^)]*)//g'
于 2013-03-19T16:24:15.510 回答
0

试试这个:

sed -E -i 's/intron \([A-Z0-9_]+, intron [0-9]+ of [0-9]+\)/intron/g' test
于 2013-03-19T16:22:55.540 回答