2013-04-22 72 views
0

我需要用mac os中的當前日期時間(日期命令)替換{{date}}字符串。 我通常在Ubuntu中使用sed命令,但它在MacOs中不起作用。我嘗試了很多東西,但沒有奏效。如何在Mac OS上的sed命令中使用日期?

下面是我在做什麼:

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

但sed的不評估date命令如我所料。 如何評估Mac OS X上的sed中的DATE命令? (使用山獅,但我想這並不重要)

回答

3

你只需要附上",而不是單一的'之間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 
+1

嗨fedorqui。謝謝你的幫助。我也試着用set -i ...,但是我用單引號。現在它可以工作。非常感謝。 – 2013-04-22 16:58:57