我正在写一个 linux 脚本,用于替换文件的字符串。这是我的脚本:
#!/bin/sh
var=./video/example.mp4
`sed -i '' 's/sceneFilePath:.*/sceneFilePath: "$var",/g' test`
在名为test
的文件中,有这样一行:
sceneFilePath: "t.mp4",
我需要用下面的行替换这一行:
sceneFilePath: "./video/example.mp4",
这意味着双引号之间的东西应该被替换为$var
。
但是,当我执行我的脚本时,我得到 sceneFilePath: "$var",
。
我读过这个答案:Replace a string in shell script using a variable
但是,我得到一个错误:
sed: 1: "s/sceneFilePath:.*/scen ...": bad flag in substitute command: 'v'
最佳答案
var='.\/video\/example.mp4'
sed -i '' "s/sceneFilePath:.*/sceneFilePath: \"$var\",/g" test
否则:
var='./video/example.mp4'
sed -i '' "s#sceneFilePath:.*#sceneFilePath: \"$var\",#g" test
关于linux - 如何将包含路径的变量插入sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867503/