我正在编写一个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 ...”:替换命令中的错误标志: 'V'
答案 0 :(得分:0)
var='.\/video\/example.mp4'
sed -i '' "s/sceneFilePath:.*/sceneFilePath: \"$var\",/g" test
否则:
var='./video/example.mp4'
sed -i '' "s#sceneFilePath:.*#sceneFilePath: \"$var\",#g" test