当我运行命令时

sed -e "s/$1/@root@The-Three-Little-Pigs-Siri-Proxy/" -i gen_certs.sh

我收到以下错误。我试图在同一文件中用下面的另一个文本替换文本 $1,而不是创建一个新的,只是修改当前的。
sed: -e expression #1, char 0: no previous regular expression

任何想法可能导致错误以及如何修复它?

操作系统:Ubuntu 10.10 32 位

最佳答案

如果 $1 在双引号字符串中,它将扩展为空字符串( '' )。
您可以使用单引号来保留 $1 的文字值:

sed -e 's/$1/@root@The-Three-Little-Pigs-Siri-Proxy/' -i gen_certs.sh

关于linux - 执行 sed 命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9516456/

10-11 22:28
查看更多