kshで凝った処理をつくるなよwってことなのか。
似たようなことを調べた方のために、また備忘録としてメモしておこう。
「AIXのkshでエポック時間(所謂UNIX時間)を取得」
・現在時刻の場合
date '%s'
・指定時刻の場合
甘い、甘いんだよ明智くん。
GNUな機能は無いんだよ。date --date yesterdayも無いんだぜ?
で、どうするか、というか自力しかない。
この時代に車輪の再開発。信じられない。
以下に式は載っているので気が向いた方はどうぞ。
http://pubs.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_14
で、別の方法となるともう別の言語に頼るしかない。
一番簡単なのはPerl one'Liner
EP_TIME=`echo $hoge | perl -MTime::Local -ne '$date="$_";my($year,$mon,$day, $hour, $min, $sec) =($date =~ /(\d{4})\/(\d\d)\/(\d\d)(\d\d):(\d\d):(\d\d)/);printf(timelocal($sec,$min,$hour,$day,$mon-1,$year));'`
コンパイラがあるなら、Cでもjavaでもなんでもやってくれ。
この手のしょーもないので止まったときって、モチベーションすごい下がるよね。
┐(´д`)┌ ハイハイ
検索用キーワード AIX、エポック時間、UNIX時間、date、ksh、取得、指定日付



TIME=`echo 123456789 |perl -MTime::localtime -ne '$TIME="$_"; $tm=localtime($TIME); printf("%d/%02d/%02d %02d:%02d:%02d\n",$tm->year+1900,$tm->mon+1,$tm->mday,$tm->hour,$tm->min,$tm->sec);'`