Shell脚本中的正则表达式

时间:2014-09-17 19:44:30

标签: regex shell

我想在每一行中删除像“uc010obu.2:”这样的文字。我尝试编写以下内容,但模式无法识别。

%s/uc(\d\+)(\w\+).(\d\+)://

有人可以帮助正确的模式吗?感谢

每一行都是这样的:

CPEB2 uc010obu.2:c.1070_1071insCGG:p.G357delinsGG

ps:我想在vim编辑器中做。

3 个答案:

答案 0 :(得分:1)

您可以在vim/sed中使用此正则表达式:

%s/uc\d\+\w\+\.\d\+://

否则:

g/uc\d\+\w\+\.\d\+:/d

答案 1 :(得分:1)

不要对正则表达式进行分组。

:%s/uc\d\+\w\+\.\d\+://

如果您想分组,请改用\(\)。如果您使用的是perl兼容工具,则为()

答案 2 :(得分:1)

如果您想仅使用不同的数字匹配文本,可以尝试以下模式:

uc(\d+)(\w+).(\d+):

要试用,您可以使用网站http://rubular.com/