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 に答える