使用 sed 命令替换包含斜杠“/”的字符串

Chi*_*tan 0 sed text-processing

如何替换字符串I1Rov4Rvh/GtjpuuYttr==mytest在一个文件中mtestsed.properties使用sed的命令?

我试过了:

sed -e -i 's/I1Rov4Rvh/GtjpuuYttr==/mytest/g' mtestsed.properties
Run Code Online (Sandbox Code Playgroud)

Arc*_*mar 7

sed 分隔符可以是任何字符,正是在需要将字符串替换为 /

任何一个


Set*_* II 6

问题在于/您要替换的文本中的 。这是一个特殊字符sed,因此您需要使用\. 同样如评论中指出的那样:该命令也因-e需要脚本的选项而失败。

这应该有效:

sed -i 's/I1Rov4Rvh\/GtjpuuYttr==/mytest/g' mtestsed.properties
Run Code Online (Sandbox Code Playgroud)

  • 啊,连这个都没注意到。但这并不是说`-e` 是*不需要的。* 在包含它的地方包含它会*阻止*命令工作。(它会让 Sed 尝试在两个文件 `s/I1Rov4Rvh/GtjpuuYttr==/mytest/g` 和 `mtestsed.properties` 上运行 `-i` 作为命令。但是 `-` 不是有效的命令代码.) (2认同)