Linux /用宏替换旧字符串

时间:2013-05-30 06:20:39

标签: linux bash

我使用next替换linux中的字符串:

sed -i 's/old-word/new-word/g' *.txt

问题是我的新单词是宏,其定义为:

d=$(date +"%Y:%m:%d")

我尝试下一个:

sed -i 's/old-word/$d/g' *.txt

但它放了" $ d"而不是正确的日期。

2 个答案:

答案 0 :(得分:1)

试试这个:

sed -i 's/old-word/'$(date +"%Y:%m:%d")'/g' *.txt

答案 1 :(得分:1)

单引号不扩展变量值,使用双引号:

sed -i "s/old-word/$d/g" *.txt

Check the manual here.