如何解决如果我们的搜索/替换模式包含多个正斜杠,如何在Vim / Linux中搜索和替换?
我有10万行文件,每行包含日期12/13/2019。我想将该日期替换为12/20/2019。但是当我输入命令时:%s / 12/13/2019/12/20/2019 / g。它给出了找不到模式的错误。 日期格式为(MM / DD / YYYY)
解决方法
替换由几个部分组成:
:<range>s/<search>/<replace>/<flags>
在这些部分之间,您将/
作为默认分隔符。由于/
将<search>
部分与<replace>
部分分开,因此您的搜索模式中的任何/
都将被解释为分隔符,从而导致不良结果。
一种解决方案是用反斜杠转义您的斜杠:
:%s/12\/13\/2019/12\/20\/2019/g
另一个(我最喜欢的)是使用替代分隔符:
:%s@12/13/2019@12/20/2019@g
参考:
:help :s
:help pattern-delimiter
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。