sed - 替换do循环中的变量

时间:2015-11-24 19:21:09

标签: bash sed

我想使用sed将计数器插入到文本文件中。例如,该文件包含以下内容:

please.add.number.00

这是我正在使用的脚本:

for i in $(seq 0 10)
do
sed -i 's/please.add.number.00/please.add.number.$i/' filename.txt
done

但文件中的值($i)不会改变。我想在这行filename.txt中替换$ i的值。我很感激任何帮助来解决这个问题!

1 个答案:

答案 0 :(得分:1)

如评论中所述,这两行之间有there is a difference

mapper

单引号将导致echo '$HOME' echo "$HOME" ,双引号将告诉您主目录。

根据对您问题的修改,看起来您的实际问题是误解$HOME的工作原理。 substitute command有两个参数:搜索模式和替换。如果搜索模式(sed)永远不会改变,那么它只会在第一次运行时匹配。