使用 Sed 查找和替换文件中的字符串

pet*_*smm 4 osx sed

我一直在尝试用 OSX 命令行中的当前日期戳替换“{{date}}”。我一直在使用以下内容:

sed -i -e 's/{{date}}/`date`/g' mhp.xml
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么它最终把

`date`
Run Code Online (Sandbox Code Playgroud)

而不是实际日期?

当我尝试

date=`date`
echo $date
Run Code Online (Sandbox Code Playgroud)

它有效......并显示当前日期。有任何想法吗?

cuo*_*glm 10

使用 GNU sed:

sed -i "s/{{date}}/$(date)/g" mhp.xml
Run Code Online (Sandbox Code Playgroud)

使用 BSD sed:

sed -i '' "s/{{date}}/$(date)/g" mhp.xml
Run Code Online (Sandbox Code Playgroud)