如何使用 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
我的 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