如何在vi模式下从命令行全局替换。似乎我不能用:前缀来使用ex命令,所以我应该做什么呢?
例如,如果我想用命令中的\替换所有的/ .
发布于 2016-03-21 19:34:55
如果在vi中使用/全局替换\存在问题,这是因为第一个字符是特殊的,需要转义,而第二个字符通常被选择为sed分隔符,因此也需要转义。您可以使用:
:%!tr '\\' '/'或
:%s,\\,/,g或
:%s/\\/\//g为了完整起见,如果您使用的是普通vi (没有宏),并且不想使用前模式,则必须这样做:
/\\
r/nr/nr/nr/nr/nr/nr/nr/nr/nr/nr/n重复上次多次需要,我只包括它,以显示你必须做什么,如果你不想使用前模式。
发布于 2016-03-21 19:44:04
在vi命令模式下
:1,$s+\\+/+g这将用正斜杠替换所有反斜杠字符
https://unix.stackexchange.com/questions/271312
复制相似问题