使用变量时 sed 替换不起作用 [英] Sed replacement not working when using variables

查看:20
本文介绍了使用变量时 sed 替换不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试用 sed 替换字符串时发生了一些奇怪的事情.这有效:

something strange is happening when trying to replace string with sed. This works :

find /home/loni/config -type f -exec sed -i 's/some_pattern/replacement/g' {} ;

所以当我手动输入字符串时它会起作用.但在以下情况下不会发生替换:

So it works when I manually type the strings. But in the case below replacement doesn't occur :

find /home/loni/config -type f -exec sed -i 's/${PATTERN}/${REPLACEMENT}/g' {} ;

当我回显这两个变量 PATTERN 和 REPLACEMENT 时,它们具有正确的值.

When I echo these two variables PATTERN and REPLACEMENT they have the correct values.

我正在尝试用我的配置目录中所有文件中的替换字符串替换所有出现的模式字符串.

I'm trying to replace all occurences of pattern string with replacement string in all files in my config directory.

推荐答案

尝试

find /home/loni/config -type f -exec sed -i "s/${PATTERN}/${REPLACEMENT}/g" {} ;

相反.' 引号不会扩展变量.

instead. The ' quotes don't expand variables.

这篇关于使用变量时 sed 替换不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆