2016-09-09 224 views
1

Python,如果我有一個來創建日期作爲後綴的字符串,我們可以做一些事情是這樣的:.format相當於

date = get_todays_date() 
name = "automation_results_{}'.format(date) 

什麼是.formatshell/bash腳本語言等效?

回答

1

在bash,你可以通過調用date得到一個日期字符串:

name="automation_results_"$(date +%Y_%m_%d) 

與格式字符串,你可以得到你喜歡的任何日期格式的不同選項。

由於@cdarke評論,如果您有最新的版本bash你也可以做更快:

name=$(printf "automation_results_%(%Y_%m_%d)T") 
+0

由於問題是關於字符串格式化,而不是使用效率低下的外部程序('date') ,用'%(%+)T'顯示'printf -v'會不會更好? – cdarke

+0

@cdarke如果需要效率,那麼使用bash是應該重新評估的第一件事。我傾向於使用更通用的'$(...)',而不是必須記住'printf'支持格式化日期的特殊情況,但這當然是一種選擇。好的,如果我更新答案,那還有一個替代方案嗎? – Anthon

+0

我同意你對一般效率和bash的看法。在測試中,我確定'printf'比'date'程序快100倍。如果您使用'printf'替代方法,那麼您應該提及它僅在bash版本4中可用(許多仍然在3.2版本中)。 – cdarke