Regex 正则表达式在vim中工作,但在vim'中失败;s ex模式
我在脚本中使用vim的ex模式来对文本文件执行vim正则表达式和替换Regex 正则表达式在vim中工作,但在vim'中失败;s ex模式,regex,vim,ex,Regex,Vim,Ex,我在脚本中使用vim的ex模式来对文本文件执行vim正则表达式和替换 ex $NAME <<EOEX :%s/<.\{-}>//g :%s/\[.\{-}\]//g :%s/ / /g :%s/^Contents$ :%s/^\d.*$ :%s/ (.\{1,4\})//g :g/^$\n^$/d :x EOEX 这很好用。有人知道为什么它在vim中使用-c选项而不是在ex模式下作为命令工
ex $NAME <<EOEX
:%s/<.\{-}>//g
:%s/\[.\{-}\]//g
:%s/ / /g
:%s/^Contents$
:%s/^\d.*$
:%s/ (.\{1,4\})//g
:g/^$\n^$/d
:x
EOEX
这很好用。有人知道为什么它在vim中使用-c选项而不是在ex模式下作为命令工作吗
(附带问题:Side的语法是什么?
您的ex命令上的正则表达式与您提供的第二个正则表达式看起来非常不同。如果您想问为什么只有第二个正则表达式“起作用”我的回答是:因为它们完全不同。我没有说清楚,但我尝试了ex命令中的精确表达式,但它没有按照预期的方式工作。旁白:如果你不知道它的作用,为什么要使用该符号?我不确定你的问题是否是修辞性的,但我使用的符号基于使用vim的示例ex模式,这是一个学习项目,而不是专业项目
vim $NAME -c ':%s/ ([^)]\{-}[^\d0-\d1000].\{-})//g' -c ':wq'