我有一个文件,每行都是时间戳。我想将每一行转换为日期格式。 文件内容如下:
1370189811 1370189830 1370189851 1370189859 1370189889 1370189890 1370188951 1370188955 1370188976 1370188981
我首先将文件修改为这种格式:
1970-01-01 UTC 1370189811 seconds 1970-01-01 UTC 1370189830 seconds 1970-01-01 UTC 1370189851 seconds 1970-01-01 UTC 1370189859 seconds 1970-01-01 UTC 1370189889 seconds 1970-01-01 UTC 1370189890 seconds 1970-01-01 UTC 1370188951 seconds 1970-01-01 UTC 1370188955 seconds 1970-01-01 UTC 1370188976 seconds 1970-01-01 UTC 1370188981 seconds
使用命令awk: awk'{printf(“1970-01-01 UTC%10d seconds \ n”,$ 1)}'test> TEST1
然后对于每一行:1970-01-01 UTC 1370188981秒,我想在每一行上执行日期-u。例如:
shijiex@localhost:~/Desktop$ date -d '1970-01-01 UTC 1284117137 seconds'
Fri Sep 10 19:12:17 CST 2010
那将输出与此时间戳对应的日期..
..我写道:
awk '{date -d $1}' test1
但没有输出..我应该怎么写这个awk命令?感谢
答案 0 :(得分:2)
这是一个开始:
$ awk '{ print(strftime("%F", $1), $1) }' file
您可以调整strftime
格式,直到获得所需内容。