我在 AIX 7 上有一个运行数据库查询的 bash 脚本,我得到的输出是以下格式的时间戳:201607130319
。
现在我想将时间戳与当前时间 ( date +%Y%m%d%H%M
- 201607201802
) 进行比较,并检查分钟数差异。我基本上需要知道差异是否超过 10 分钟。
我知道我可以在 Linux 上使用这个功能date -d
,但在 AIX 上却不行。我也不允许在服务器上安装任何东西,那么我在这里有什么选择呢?
答案1
Perl 可能已经安装,因此你可以执行
timestamp=$( some process ) # timestamp=201607130319
perl -se '
use Time::Local;
if ($ts =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$time = timelocal(0,$5,$4,$3,$2-1,$1-1900);
$now = time;
if (abs( $time - $now ) > 600) {
print "more than 10 minutes\n";
}
}
' -- -ts="$timestamp"