【问题标题】:How to parse date from command line in Solaris?如何从 Solaris 中的命令行解析日期?
【发布时间】:2016-05-06 09:46:31
【问题描述】:
$uname -a 
SunOS 5.10 Generic_150400-33 sun4v sparc sun4v

$date
Friday,  6 May 2016  7:43:41 PM AEST

$ date | cut -d"," -f1
Friday 

现在我需要单独删除输出为6 May 2016的日期

【问题讨论】:

    标签: shell date unix solaris


    【解决方案1】:

    使用这个:

    date '+%e %B %Y' | cut -b 2-
    

    date'+%e %B %Y' 输出类似“2016 年 5 月 6 日”的内容,cut-b 2- 只是删除第一个字节(空格字符)。

    另一种方法:

    set "$(date +'%e %B %Y')"
    echo "${1# }"
    

    【讨论】:

    • 一个叉子和一个管道来删除单个字符?请不要扩散这种反模式。
    【解决方案2】:

    无需昂贵的叉子/管道来切割等等:

    set $(date)
    echo $2 $3 $4
    

    或者阅读 date(1) 手册,可能还有 strftime(3) 手册。这将教您如何使用任意格式来提供您想要的项目。

    【讨论】:

      【解决方案3】:

      你可以使用

      date | cut -d' ' -f2-4

      以空格分隔并采用字段 2-4(包括)。

      【讨论】:

      • 当你有 2 个空格而不是 1 个空格时会失败
      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 2021-10-01
      • 2013-05-25
      • 2013-07-28
      • 1970-01-01
      • 2010-09-21
      • 2011-04-27
      • 2021-12-02
      相关资源
      最近更新 更多