2013-03-13 50 views
0

我有兩個變量,他們被分配到下面的值需要星期三年03月13 0點18分06秒2013轉換成日期時間在Unix中

Start_time=Start time: [Wed Mar 13 00:18:06 2013] 

End_time=End time: [Wed Mar 13 00:18:12 2013] 

現在我需要減去END_TIME的START_TIME。所以我需要先刪除其他字符串並將日期轉換爲可以執行減法的格式。

爲了去除串我用下面的SED功能

echo "Start time: [Wed Mar 13 00:18:06 2013]" | sed -e 's|Start time:||' 

[Wed Mar 13 00:18:06 2013] 

如何刪除括號,而不使用其他sed的功能。

另外,有人可以告訴我如何將其轉換成日期格式,我可以執行減法操作。

回答

0

sed的語句可以是:

sed -e 's|Start time: \[||;s/\]//' 

使用GNU日期,你可以指定日期使用,並轉換爲UNIX時間戳 (替換您的變量的硬編碼值):

[email protected]desktop ~ 
$ a=$(date --date="Wed Mar 13 00:18:06 2013" '+%s') 

[email protected] ~ 
$ b=$(date --date="Wed Mar 13 00:18:12 2013" '+%s') 

然後在幾秒鐘內得到差異:

[email protected] ~ 
$ d=$(($b - $a)) 

[email protected] ~ 
$ echo $d 
6 
+0

布拉德感謝噸。看起來這將解決我的問題。 – bharath 2013-03-15 09:25:59

相關問題