如何使用 sed 将文件中的字符串替换为另一个用单引号引起来的字符串?

How to use sed to replace a string within a file with a another string surrounded by single quotes?

我的 yaml 文件内容为:

dummy:
  key1: value1
  key2: value2

我想用sed把dummy替换成'dummy'

我正在尝试:

sed -i '.yaml' 's/dummy/"'dummy'"/g' ~/Desktop/test.yaml

我明白了

"dummy":
  key1: value1
  key2: value2

如您所见,我得到一个用双引号括起来的虚拟字符串...

事实上我想要 单引号 周围的虚拟

我如何获得? :

'dummy':
  key1: value1
  key2: value2

编辑: 根据 OP 现在也添加解决方案。

sed "s#dummy#12345#"  Input_file

以下简单的 sed 可能会对您有所帮助。

sed "s#dummy#'&'#"  Input_file

如果您想通过备份 Input_file 将更改保存到 Input_file 本身,请使用以下内容。

sed  -i.bak "s#dummy#'&'#"  Input_file

awk中:

awk '{sub("dummy","7&7")} 1'  Input_file