我有一个命令,它给出了前几天的日期:
date -d '-1 day' '+%Y%d%m'
相同的命令在AIX系统中运行时会出现错误。
"-d无法识别标志"
下面的命令正在运行,给出当前日期AIX系统。
date -u +%Y%d%m
但下面的命令给出错误为"1是不可识别的标志"
date -u '-1 day' +%Y%d%m
如何在AIX中获取前几天日期。
date
是一个程序,而不是shell的内置命令。所以不管使用什么shell,它都可以工作。
falsetru@ubuntu:~$ bash
falsetru@ubuntu:~$ date -d '-1 day' '+%Y%d%m'
20142103
falsetru@ubuntu:~$ ksh
$ date -d '-1 day' '+%Y%d%m'
20142103
$ type date
date is a tracked alias for /bin/date
操作时区可以将时钟更改几个小时。一个额外的复杂性是日光节约时间。由于实行夏令时,24小时前可以是今天也可以是前天。
你确定昨天是20或30小时前。哪一个?最近的一次不是今天。
echo "$(TZ=GMT+30 date +%Y-%m-%d)n$(TZ=GMT+20 date +%Y-%m-%d)" | grep -v $(date +%Y-%m-%d) | tail -1
以上命令用于ksh。使用bash时,需要echo -e:
echo -e "$(TZ=GMT+30 date +%Y-%m-%d)n$(TZ=GMT+20 date +%Y-%m-%d)" | grep -v $(date +%Y-%m-%d) | tail -1
date -d
是GNU
主义,因此在非GNU
实现中不可用,如香草AIX
date
。但是,您可以在GNU date
附带的AIX
上安装coreutils
(下载链接在这里)。