2017-07-25 63 views

回答

1

您可以使用printf "%02d"awk來實現它,

$ date -u --date="today" +"%I" | awk -F' ' '{printf "%02d\n",$1-1}' 
06 
+0

感謝朋友..它爲我工作.. –

1

awk是多餘這裏。您可以使用相對時間格式date

date -u --date="-1 hour" +"%I" 
06 
+0

哇,輝煌的解決方案。 – CWLiu

+0

感謝「日期」命令的創建者;) – hek2mgl

+0

那會是......貝爾實驗室? :) – ghoti

1

也許你想:

date -u --date="- 1 hour" +"%I"` 

如果時間調整你的日期字符串的一部分,該格式將不會被改寫的。

另外,如果你真正想要的是一種零墊在bash或AWK一個號碼,你有多種選擇:

date -u --date="- 1 hour" +"%I" | awk '{printf "%02d\n",$1-1}' 

或者在bash獨自:

read hour < <(date -u --date="- 1 hour" +"%I") 
printf '%02d\n' "$hour" 

明白嗎?輸出格式發生在打印輸出時,並且輸出格式爲printf