最佳答案
我有一个 VisualStudio 项目,它是在本地开发的。必须将代码文件部署到远程服务器。唯一的问题是它们包含的 URL,这些 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
返回文章页面
?page=one&
?page=two&
?page=three&
运行 sed 命令后 b.txt
的内容:
pageone
pagetwo
pagethree
我想让 b.txt
包含的内容:
/page/one
/page/two
/page/three