我有一个sed命令这样的搜索和替换文件中的字符串:搜索和替换字符串中使用SED
sed -i -e 's/`db1`./`db2`./g' result/files1.sql
那是工作的罚款,以取代DB1到的文件中DB2:结果/文件下载1 .sql
但是,当我将其更改为bash和可变格式时,它不起作用。
sed -i -e "s/`${mydbname}`./`${mydbname2}`./g" "${mypath}"
我得到错误,如:
./mycoolscript: line 241: db1: command not found
./mycoolscript: line 241: db2: command not found
任何解决方案将是巨大的。
为什么你需要添加'around $ {mydbname}?它使第二个sed命令认为db1是一个命令,而不是您想要替换的字符串。请注意,shell将替换“”(引号)内的任何变量,包括'COMMAND',但不会在''(单引号)内替换。 – imapollo