AIX shell 脚本中的日期操作

Posted

技术标签:

【中文标题】AIX shell 脚本中的日期操作【英文标题】:Date manipulation in AIX shell script 【发布时间】:2012-02-22 01:10:55 【问题描述】:

抱歉,如果它重复任何旧帖子。如果是这样,请重定向。

我正在 AIX 中编写一个 shell 脚本,我们从文件/命令行获取日期。 现在,我必须将当前日期与输入日期进行比较,看看相差的天数。

我试图用谷歌搜索它的解决方案,但到处都找不到合适的解决方案。

这里我不能设置“日期”变量,因为我不是root用户。

任何输入都会有很大帮助。

【问题讨论】:

【参考方案1】:

Gnu date 具有满足您要求的 --date 选项。 但由于 AIX 中默认情况下不提供此功能,因此对您没有帮助。 因此,您必须使用 awk/perl 编写自己的代码来实现它。 在 *** 中查看这个question,它提供了一些关于日期算法的想法。

【讨论】:

【参考方案2】:

对于稍微复杂一点的问题,我建议使用 datecalc(您可以在 http://www.unix.com/unix-dummies-questions-answers/4870-days-elapsed-between-2-dates.html#post16559 找到一个版本)。它可以在大多数 UNIX 方言中实现。

【讨论】:

【参考方案3】:
echo $(($(($(date -d "2010-06-01" "+%s") - $(date -d "2010-05-15" "+%s"))) / 86400))

来源:Shell script to get difference in two dates

【讨论】:

仅适用于 GNU 日期,不适用于 AIX。

以上是关于AIX shell 脚本中的日期操作的主要内容,如果未能解决你的问题,请参考以下文章

IBM AIX:core-shell:显示文件修改日期

如何使用 bash 脚本检查 AIX 中文件的最后修改日期?

神不知鬼不晓,使用 Shell 脚本掩盖 Linux 服务器上的操作痕迹

关于SHELL脚本中日期大小的比较

aixbios时间怎么看

Unix shell 脚本中的日期运算