使用 awk 和日期获取当前日期

Getting current day number with awk and date

当天数小于10时,date命令输出有两个空格,例如

Mon May 31 10:24:01 +0430 2020
Mon Jun  1 10:24:01 +0430 2020

对于第一个,date | cut -d " " -f 3 returns 31。但是,对于第二个,它 returns SPACE。有什么办法可以解决这个问题?

您可以简单地尝试 awk 来获取第 3 个字段,这肯定比 cut 命令更好。

date | awk '{print }'

现在为什么 cut 命令不起作用恕我直言,因为 May31 之间的 space 相等,但 Jun 和 space 之间1 不相等,因此您需要在剪切命令中使用 f4(对于当前方法的单个数字日期数字)。在这种情况下最好使用awk

或者在理想情况下,如果您只想获取日期,那么根据@anubhava 先生的评论,使用 date '+%d' 始终以 2 位数字获取日期。