2014-10-27 37 views
1

我在下面的代碼段中所示的問題:爲什麼到日期命令的管道參數未正確處理?

$ echo "2014-10-26 23:24:38.3123123" | date -d - 
Sun Oct 26 00:00:00 EDT 2014 
$ date -d "2014-10-26 23:24:38.3123123" 
Sun Oct 26 23:24:38 EDT 2014 

正如你可以看到,小時/分鐘/秒信息沒有時我管與echo數據,但它被拾取拾取後我用它作爲命令行參數。我確信有一些愚蠢的東西我沒有注意到,但是如果有人能夠啓發我,那將會非常感謝!

+0

你檢查我的答案了嗎? – 2015-10-30 17:06:14

回答

0

當你寫:

$ echo "2014-10-26 23:24:38.3123123" | date -d - 

2014-10-2623:24:38.3123123之間的空格字符當作參數分隔符和日期命令將日期字符串作爲兩個不同的參數。

你可以簡單地逃避這個空格字符:

$ echo "2014-10-26\ 23:24:38.3123123" | date -d - 

和它的作品;

Sun Oct 26 23:24:38 EDT 2014