将Epoch时间戳转换为列的可读时间戳

时间:2015-11-12 09:00:03

标签: shell unix awk aix

我有一个包含以下内容的文件:

78903 0 1 WEEKEND_FULL_ORACLE_BKP Full GYUI-12543 1446541202 0000006420 0000000000 186880
78401 0 1 WEEKLY_FULL_UNIX_BKP Full WEEKLY_TEST 1446508902 0000038818 0000000000 448755456
78306 0 1 WEEKLY_FULL_UNIX_BKP1 Full FTYU-32145 1446455973 0000091647 0000000000 390188288

我想将第7个字段(纪元时间戳转换为可读格式)并保留输出中的所有其他字段。我正在使用AIX 7.1。我能够转换第7个字段并使用以下命令显示它,但如何在输出报告中显示其他字段。

awk '{print "printf \"%T\n\" \\#"$7}' tmp1.txt | ksh93

1 个答案:

答案 0 :(得分:1)

这将以可读时间更新$ 7,最后1将打印整行。

awk '{ $7=strftime("%T",$7); } 1' tmp1.txt

如果Perl可用,

perl -ane '{$F[6]=scalar(localtime($F[6])); print join(" ", @F), "\n"}' tmp1.txt