目标:我想用具有Unix代码的文件内容替换字符串。
我想做的是:
第一:我将文件内容存储到变量中
variable=`cat sample.sh`
variable2="$(sed -z 's:\n:\\\n:g;$s:\\\n$::'<<<"$variable")"
然后在sed命令中使用该变量将文本替换为变量值。
sed -i "s:SearchString:$variable2//&/\\\&}:g"<<<"SearchString" File.html
sed命令引发错误,指出
sed:-e表达式#,字符5:s'的未知选项
请帮助实现我的目标。
问题可能是您在$ variable2中有一个冒号,并且终止了替换值。您是否知道$ variable2中不会包含某个字符?例如,“管道”字符“ |” -如果有的话,请在此处使用该字符而不是“:”来分隔“ s”命令的各个部分。
我认为这是一个错字,但是您在sed命令的“ $ {variable2”中缺少左花括号。
还有其他方法可以解决您的问题,但这是最小的更改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句