如何在Mac OS上的sed命令中使用日期?

时间:2013-04-22 14:46:50

标签: macos date sed

我需要在文件中替换 {{date}} 字符串,并在mac os中使用当前日期时间(日期命令)。 我通常在Ubuntu中使用 sed 命令,但它在MacO中不起作用。我尝试过很多东西,但没有用。

以下是我正在做的事情:

sed -i '' 's/{{date}}/\``date``/g' file.xml

但是sed没有像我预期的那样评估日期命令。 如何评估Mac OS X上的sed中的DATE命令? (使用Mountain Lion,但我想这没关系)

1 个答案:

答案 0 :(得分:2)

您必须在"而不是单'之间加上sed子格:

这可行:

$ echo "hellodatehere" | sed "s/date/`date`/"
helloMon Apr 22 16:49:35 CEST 2013here

在你的情况下:

sed -i "s/{{date}}/`date`/g" file.xml

如果你想稍微解析一下日期,你可以这样做:

date_value=`date "+%d.%m.%Y %H:%M:%S"`
sed -i "s/{{date}}/$date_value/g" file.xml