如何使用 awk 和 date 打印当前的月、日和年?

mus*_*ngs -5 scripting awk

我似乎无法使用

awk '{print $2, $3, $6}' date 
Run Code Online (Sandbox Code Playgroud)

有谁知道怎么做?

Ant*_*hon 23

为什么要使用awk

date +"%b %d %Y"
Run Code Online (Sandbox Code Playgroud)

轻松为您提供价值。


slm*_*slm 10

尝试将date命令的输出改为管道输出,如下所示:

$ date | awk '{print $2, $3, $6}'
Dec 1 2014
Run Code Online (Sandbox Code Playgroud)

如果您真的想date使用类似于您的命令来获取输出,那么您需要使用 HERESTRING 重定向它,也就是。( <<<) (假设有一个zshshell 或相当新版本的ksh93bash)。

$ awk '{print $2, $3, $6}' <<<$(date)
Dec 1 2014
Run Code Online (Sandbox Code Playgroud)

第二种形式将从命令中获取输出$(date)并将其重定向到awk通过 STDIN。

但是awk这里根本不需要使用。该date命令具有自己的格式化功能。

$ date +"%b %d %Y"
Dec 01 2014
Run Code Online (Sandbox Code Playgroud)

  • 另请注意,GNU `awk` 可以自己完成 `date` 的部分:`awk 'BEGIN {print strftime("%d %b %Y")}'` (3认同)