一尘不染

使用变量时无法替换sed

linux

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

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

因此,当我手动键入字符串时,它可以工作。但在以下情况下,不会发生替换:

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

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

我试图用配置目录中所有文件中的替换字符串替换所有出现的模式字符串。


阅读 349

收藏
2020-06-03

共1个答案

一尘不染

尝试

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

代替。’引号不会扩展变量。

2020-06-03