【问题标题】:How to format the date in KornShell script to DD-MON-YYYY?如何将 KornShell 脚本中的日期格式化为 DD-MON-YYYY?
【发布时间】:2010-12-13 05:33:39
【问题描述】:

如何将 KornShell (ksh) 脚本中的日期格式化为 DD-MON-YYYY?

我尝试了以下方法:

date '+%d-%h-%Y'

它返回 2009 年 11 月 4 日 我需要将 11 月设为 NOV(全部大写)。这可以用 date 实用程序来完成吗?

【问题讨论】:

    标签: shell date unix ksh


    【解决方案1】:

    如果您的环境不支持插入符号大写,您可以自己将其大写:

    date '+%d-%h-%Y' | tr 'a-z' 'A-Z'
    

    【讨论】:

    • @martin Clayton - 此语法在 linux 上有效,但在 unix 上无效,我的脚本在 unix 机器上运行。但是,您的代码 sn-p 为我指明了正确的方向。谢谢!
    【解决方案2】:

    ^ 字符在 GNU coreutils date 中强制大写(至少在 coreutils 6.9.92.4 版本中是这样):

    $ date '+%d-%^h-%Y'
    04-NOV-2009
    

    不幸的是,^ 不是POSIX standard 对应的date,所以如果你不在GNU 上,你可能不得不求助于第二个命令,比如tr suggested by @martin clayton系统。

    【讨论】:

    • @Mark Rushakoff - 这在 uxix 或 linux 上都不起作用。执行时得到以下信息:04-^Nov-2009.
    • 建议“以上”?请参考具体答案。订单随投票而变化,
    【解决方案3】:

    这就是最终在 unix(solaris) 上起作用的东西。

    date '+%d-%h-%Y' | tr [:lower:] [:upper:]
    

    返回:2009 年 11 月 4 日

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多