Sed 如何用存储在变量中的值替换单引号中的字符串?

Sed 如何用存储在变量中的值替换单引号中的字符串?,sed,Sed,我想在as脚本中使用sed命令将文件中的Ansible版本从“2.7”更改为2.9,并保留单引号 这是我使用的,但结果似乎没有单引号: sed -i 's/^ansible::version:.*/ansible::version:'$vers'/' /path_to_file 输出: ansible::version: 2.9 这是文件的内容: ansible::version: '2.7' BSD-sed:sed-s/'2\.7'/'2\.9'/g文件&GNU-sed:sed-s/'2

我想在as脚本中使用sed命令将文件中的Ansible版本从“2.7”更改为2.9,并保留单引号

这是我使用的,但结果似乎没有单引号:

sed -i 's/^ansible::version:.*/ansible::version:'$vers'/' /path_to_file
输出:

ansible::version: 2.9
这是文件的内容:

ansible::version: '2.7'

BSD-sed:sed-s/'2\.7'/'2\.9'/g文件&GNU-sed:sed-s/'2\.7'/'2\.9'/g文件

@jared_-mamrot不需要在双引号字符串中转义单引号,也不适用于BSD-sed。@jared_-mamrot…但是。应该被转义,否则它匹配任何东西;谢谢@BenjaminW我会把它作为回答发出去谢谢@jared_mamrot