目标:我想用包含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 expression#,char 5:s'
的未知选项
请帮助实现我的目标。
答案 0 :(得分:0)
问题可能是你在$ variable2中有一个冒号,那就是终止替换值。是否有一个你知道的角色在$ variable2中?例如,&#34;管道&#34;字符&#34; |&#34; - 如果有的话,在这里使用该角色而不是&#34;:&#34;分开&#34; s&#34;命令。
我认为这是一个错字,但你错过了#34; $ {variable2&#34;在sed命令中。
还有其他方法可以解决您的问题,但这是最小的变化。