如何用sed替换包含斜杠的字符串?

afaf12

我有一个Visual Studio项目,该项目在本地开发。代码文件必须部署到远程服务器。唯一的问题是它们包含的URL是硬编码的。

项目包含诸如?page = one之类的URL 为了使链接在服务器上有效,它必须为/ page / one

我已决定在部署之前用sed替换代码文件中的所有URL,但是我只能使用斜线。

我知道这不是一个很好的解决方案,但是很简单,可以节省很多时间。我必须替换的字符串总数少于10。必须检查的文件总数约为30。

描述我的情况的示例如下:

我正在使用的命令:

sed -f replace.txt < a.txt > b.txt

replace.txt,其中包含所有字符串:

s/?page=one&/pageone/g
s/?page=two&/pagetwo/g
s/?page=three&/pagethree/g

a.txt:

?page=one&
?page=two&
?page=three&

运行sed命令后b.txt的内容:

pageone
pagetwo
pagethree

我想要b.txt包含什么:

/page/one
/page/two
/page/three
潜伏者

最简单的方法是在搜索/替换行中使用其他定界符,例如:

s:?page=one&:pageone:g

您可以使用任何字符作为分隔符,而不是任何字符串的一部分。或者,您可以使用反斜杠将其转义:

s/\//foo/

将替换/foo如果您不知道替换字符串中可能出现哪些字符(例如,如果它们是shell变量),则需要使用转义的反斜杠。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Sed替换包含字符串的整行

在Powershell中,如何替换包含问号的字符串?

Python Pandas:如何替换包含“?”的字符串

sed命令替换包含/和“的字符串

在Linux中使用sed替换包含$ {user.home}的文件中的字符串

如何用sed替换不包含其他字符串的字符串?

如何替换包含特定字符串r的列名

如何用RegularExpressions替换包含美元字符的MySQL字符串?

如何用sed包含斜杠的字符串替换字符串?

用sed替换包含&&的字符串

用特殊字符替换包含字符串的行

如何使用sed替换包含文件路径的字符串

使用sed替换包含特殊字符的字符串

如何用python修改的行替换包含某些字符串的行?

如何替换包含空格和引号的字符串?

使用sed替换字符串,其中替换包含空格

替换包含括号的字符串

sed 使用包含反斜杠的字符串替换

Outlook 中的 VBA 不替换包含斜杠的字符串

使用 sed 编辑器替换包含反斜杠的字符串

用 sed 替换包含括号的字符串,将包含日期的子字符串替换为括号

如何替换包含冰岛语字符的字符串?

如果字符串出现在斜杠之间,如何用一些东西替换包含空格的字符串

如何用sed命令替换特定字符的字符串

替换包含特定字符的括号内的字符串

如何替换包含方括号的字符串

Python字符串替换包含“\”

如何使用sed替换包含括号的字符串

如何用 sed 命令替换包含日期和 IP 的字符串