【发布时间】:2011-03-28 00:15:37
【问题描述】:
所以我需要将日期转换为不同的格式。使用 bash 管道,我从上次控制台登录中获取日期,并使用 awk 提取相关位,如下所示:
last $USER | grep console | head -1 | awk '{print $4, $5}'
哪些输出:Aug 08
(在这种情况下,$4=Aug $5=08。)
现在,我想将 'Aug 08' 放入 date 命令中以将格式更改为数字日期。
看起来像这样:
date -j -f %b\ %d Aug\ 08 +%m-%d
输出:08-08
我的问题是,如何将其添加到我的管道中并使用 awk 变量 $4 和 $5 ,其中“Aug 08”在该日期命令中?
【问题讨论】:
-
您实际上是在询问如何在另一个命令中使用 awk 的 输出,而不是变量。
-
date的哪个版本(以及操作系统等)? GNU date 没有-j,它使用-f来读取文件。你的命令是date -d Aug\ 08 +%m-%d -
不确定确切的版本号 -- 没有任何类型的 --version 输出。它是在 Mac OSX 上构建的 BSD,因此我根据 OS X 10.6 上的手册页将日期选项放在一起。仅打算在 mac 客户端上运行脚本,但感谢您提供的信息;如果我需要在 Linux 上做类似的事情,它会很有用。