如何使用sed或awk命令使用变量(包含Unix脚本的变量)查找和替换文本

古拉·耶拉尼

目标:我想用具有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'的未知选项

请帮助实现我的目标。

simon3270

问题可能是您在$ variable2中有一个冒号,并且终止了替换值。您是否知道$ variable2中不会包含某个字符?例如,“管道”字符“ |” -如果有的话,请在此处使用该字符而不是“:”来分隔“ s”命令的各个部分。

我认为这是一个错字,但是您在sed命令的“ $ {variable2”中缺少左花括号。

还有其他方法可以解决您的问题,但这是最小的更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 sed 命令在字符串变量中查找和替换 - shell 脚本

在BASH脚本中使用sed:用系统变量(主机名和日期)中的信息替换文本

使用sed或awk替换变量中的文本

如何使用包含星号的sed文本查找和替换*

sed无法使用变量替换文件中的文本

使用命令在文件中查找和替换文本

我如何使用〜作为分隔符使用sed查找和替换文本

如何使用 sed 但使用特殊字符查找和替换文本

使用sed和环境变量替换文件中的文本

如何使用sed替换文本文件中声明的变量值

如何使用sed替换文件中多次出现的变量?

如何使用bash脚本中的数据替换文本文件中的模板变量

用变量中包含空格的sed替换文本

如何使用Windows命令行环境查找和替换文件中的文本?

如何使用Awk在文本文件中使用增量变量查找和替换字符串

使用 shell 变量使用 sed 查找和替换 JSON 中的文本

使用变量使用 sed 查找和替换行

如何在Shell脚本中查找和替换文本

使用awk / sed查找和替换文件中的键值对到其他

使用 Silver Searcher 和 sed 查找和替换文件中的文本

如何将AWK的输出存储为变量,以在BASH脚本的SED命令中使用?

如何使用 sed 或 awk 正确查找和替换多行文本?

使用sed查找和替换变量中的特定字符

使用 TextFinder 和 Apps 脚本在 Google 表格中查找和替换文本

如何使用sed从awk输入变量中搜索和替换html代码字符串

如何使用 sed/perl 仅查找二维数组并替换文本?

如何在awk中使用gsub查找和替换文件中的(“ ./”)和(“ .txt”)字符

如何在系统命令中使用awk脚本的shell变量?

如何在bash中使用正则表达式变量进行查找和替换命令?