UNIXタイムスタンプ(1970年からの秒数、たとえば1381260225は2013年10月8日火曜日19:23:45 GMT)を標準の人間が読める形式に変換する必要があります。
グーグルでいくつかの回答を得ることができましたが、Linuxを使用していないため、それらは私にとって適切な解決策ではありません。ksh88で AIX 6.1 マシンを使用します。 AIXにはGNUユーティリティがありません。
Linuxを使用している場合は、次のように簡単に使用できます。
date -d @1381260225
または、gawkを使用することもできます。
echo "1381260225" | gawk '{print strftime("%c",$1)}'
またはPython:
python -c "import datetime; print datetime.datetime.fromtimestamp(1381865497)"
またはPerl:
Perl -e 'print(scalar(localtime(1381865497)), "\n";'
ただし、これらのソリューションは、AIXの標準インストールでは利用できません。これらすべてのツール(GNU coreutils、GNU awk、Perl、Python))は、 Linuxアプリケーション用のAIXツールボックス の一部として個別のパッケージとして入手できます。
おそらくPerlにフォールバックできます。
Perl -MPOSIX=strftime -e 'print strftime("%Y-%m-%d %T", localtime($ARGV[0])), "\n"' 1381260225
2013-10-08 15:23:45
# echo 1381260225 | python -c 'import sys; import time; print time.ctime( float( sys.stdin.read() ) )'
Wed Oct 9 02:23:45 2013
AIXにはksh93があるので、
現地時間(ここではイギリス本土):
$ ksh93 -c 'printf "%(%Y-%m-%d %T %z)T\n" "#$1"' ksh93 1381260225
2013-10-08 20:23:45 +0100
GMT/UTC
$ TZ=GMT0 ksh93 -c 'printf "%(%Y-%m-%d %T %Z)T\n" "#$1"' ksh93 1381260225
2013-10-08 19:23:45 GMT
もう少し磨きをかける:
echo 1397028688|Perl -l12ne 'print scalar localtime $_'
Wed Apr 9 09:31:28 2014