这是我当前的代码。我正在尝试用另一个文件名替换文件中的文件名字符串。但我目前收到错误
"sed: 1: "s/directory = "[A-Za-z0 ...": 替代命令中的错误标志:'U'"
这段代码有什么问题?
function restart_existing ()
{
old="directory = \"[A-Za-z0-9\/]\""
new="directory = \"$1\""
sed -i '' "s/$old/$new/" "$HOME/angelpretendconfig"
}
restart_existing "$HOME/blahblahblah/shoot/blah"
编辑:谢谢!我采纳了您的建议,并修改了代码。
function restart_existing ()
{
old="directory = \"*\""
printf -v new 'directory = "%s"' "$1"
sed -i '' "s;$old;$new;" "$HOME/angelpretendconfig"
}
restart_existing "Query"
但是现在有问题的行来自
directory = "/home/jamie/bump/server"
directory = "Query"/home/jamie/bump/server"
为什么会出现这种情况?