Bash
沒有 date -d 的 AIX 上的時間戳比較
我在 AIX 7 上有一個執行數據庫查詢的 bash 腳本,我得到的輸出是以下格式的時間戳:
201607130319
.現在我想將時間戳與目前時間(
date +%Y%m%d%H%M
-201607201802
)進行比較,並檢查以分鐘為單位的差異。我基本上需要知道差異是否超過10分鐘。我知道我可以在 Linux 上使用
date -d
,但在 AIX 上不可用。我也不允許在伺服器上安裝任何東西,所以我在這裡有什麼選擇?
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"