【问题标题】:How to replace special character in Linux VI Editor?如何在 Linux VI Editor 中替换特殊字符?
【发布时间】:2022-01-09 19:42:43
【问题描述】:

我想在linux中使用vi编辑器去除文件中的一些特殊字符,比如

{ 
}
:
[
] 

我尝试了以下模式,但不适用于上述所有可能的符号。

:%s/\{//g

出现错误: E866:(NFA 正则表达式)错位 { E64: { 不跟随 E476: 无效命令

【问题讨论】:

  • 可以看到它正在使用以下方法:``` :%s#{##g ``` 所以我只是用空格替换'{'。

标签: linux vi


【解决方案1】:

总体而言,请参阅 :h :s:h pattern。见man 7 regex

\{ 在基本正则表达式中开始一个绑定。 vi 并没有真正使用基本的正则表达式,但无论如何,它就像接近它一样。你想匹配字符{,而不是重复之前的模式,所以只匹配{

:%s/{//g

以上所有可能的符号。

如果您想将[ ] 放在括号表达式 [...] 中,您必须将它们放在最后/第一个。所以像[]] 匹配单个],像[][] 匹配[]

:%s/[]{}:[]//g

【讨论】:

    猜你喜欢
    • 2021-09-20
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2011-05-16
    • 2015-06-10
    • 2010-10-06
    相关资源
    最近更新 更多