【问题标题】:.format equivalent in shell script [duplicate]shell脚本中的.format等价物[重复]
【发布时间】:2016-09-09 04:58:21
【问题描述】:

Python,如果我要创建一个以日期为后缀的字符串,我们可以这样做:

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

.formatshell/bash 脚本语言中的等价物是什么?

【问题讨论】:

    标签: python bash python-2.7 shell


    【解决方案1】:

    在 bash 中,您可以通过调用 date 来获取日期字符串:

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

    使用格式字符串的不同选项,您可以获得您喜欢的任何日期格式。

    正如@cdarke 所说,如果您有最新版本的bash,您也可以做得更快:

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

    【讨论】:

    • 既然问题是关于字符串格式化,而不是使用效率低下的外部程序 (date),用%(%+)T 显示printf -v 不是更好吗?
    • @cdarke 如果需要效率,那么首先应该重新评估使用 bash。我倾向于使用更通用的$(...),而不是必须记住printf 支持格式化日期的特殊情况,但这当然是一种选择。如果我用它来更新答案,可以吗?
    • 我同意你对效率和 bash 的看法。在测试中,我计时 printfdate 程序快大约 100 倍。如果您使用 printf 替代方案,那么您应该提及它仅适用于 bash 版本 4(许多仍在 3.2 上)。
    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2014-02-15
    • 2012-05-19
    • 2020-02-14
    • 2011-11-20
    • 2016-01-07
    • 1970-01-01
    相关资源
    最近更新 更多