如何将完整的unix时间字符串文件转换为人类可读日期?

sky*_*ook 4 bash perl unix-timestamp

我正在处理一个充满unix时间字符串的文件.我想将它们全部转换为人类可读的.

该文件看起来像这样:

1153335401
1153448586
1153476729
1153494310
1153603662
1153640211
Run Code Online (Sandbox Code Playgroud)

这是脚本:

#! /bin/bash
FILE="test.txt"
cat $FILE | while read line; do
perl -e 'print scalar(gmtime($line)), "\n"'
done
Run Code Online (Sandbox Code Playgroud)

这不起作用.我得到的输出是每一行的Thu Jan 1 00:00:00.我认为线路中断正在被接收,这就是它无法正常工作的原因.有任何想法吗?我使用Mac OSX是有所作为的.

Gre*_*con 9

$ perl -lne 'print scalar gmtime $_' test.txt
Wed Jul 19 18:56:41 2006
Fri Jul 21 02:23:06 2006
Fri Jul 21 10:12:09 2006
Fri Jul 21 15:05:10 2006
Sat Jul 22 21:27:42 2006
Sun Jul 23 07:36:51 2006