我正在编写 shell 脚本来替换具有 URI 的文件中的一行。我在使用 URI 时遇到错误。
要放置的线:
source 'http://rubygems.org'
我的脚本:
#sed -i '1s/.*/ source 'https://rubygems.org' /' /Gemfile
无法识别单引号。
我得到的错误:“sed:-e 表达式 #1,字符 23:‘s’的未知选项”
最佳答案
您可以在 sed 命令中使用备用分隔符。
例如,几年前我有一个必须交换 URL 的 sed 行,我使用了 @at 符号。
例如,使用以下内容创建一个文本文件“file.txt”: 我有一个来自加利福尼亚的 unix 操作系统
在您的 shell 中运行以下命令,使用 @ 而不是通常的斜线分隔符。
$ sed 's@unix@linux@' file.txt
I have a linux operating system from California
关于linux - 如何在 shell 脚本中转义冒号和双斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28766865/