【发布时间】:2018-08-05 15:07:35
【问题描述】:
目标:我想用包含 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' 的未知选项
请帮助实现我的目标。
【问题讨论】:
-
欢迎来到 Stack Overflow,请添加 3 个简单的东西,1- 在您的帖子的代码标签中添加示例输入文件。 2-使用代码标签添加所有条件的预期输出,3-您尝试过的内容。将这些添加到您的帖子中,然后让我们知道。
-
您无需将文件内容放入变量中,然后使用
sed访问变量。sed本身可以读取 Input_file。 -
你能详细解释一下吗,我是 unix 新手,对 shell 脚本知之甚少@RavinderSingh13