在UNIX文件中的一整列上应用一组操作

喜悦

我有一个文件看起来像:

    "JOB1 #43",  43 "SUCCESS",  1479079800029
    "JOB1 #42",  42 "SUCCESS",  1478993400042
    "JOB1 #41",  41 "SUCCESS",  1478907000065
    "JOB1 #40",  40 "SUCCESS",  1478820600085
    "JOB1 #39",  39 "SUCCESS",  1478734200051

需要用日期和时间格式更改最后一列(时间戳)。

到目前为止已尝试:

 for i in `cat file | awk '{print $NF}'`
 do
      date -d @$(  echo "(${i} + 500) / 1000" | bc)
 done

输出:

    Sun Nov 13 23:30:00 GMT 2016
    Sat Nov 12 23:30:00 GMT 2016
    Fri Nov 11 23:30:00 GMT 2016
    Thu Nov 10 23:30:00 GMT 2016
    Wed Nov  9 23:30:00 GMT 2016

预期输出为

"JOB1 #43",  43 "SUCCESS",  Sun Nov 13 23:30:00 GMT 2016
"JOB1 #42",  42 "SUCCESS",  Sat Nov 12 23:30:00 GMT 2016
"JOB1 #41",  41 "SUCCESS",  Fri Nov 11 23:30:00 GMT 2016
"JOB1 #40",  40 "SUCCESS",  Thu Nov 10 23:30:00 GMT 2016
"JOB1 #39",  39 "SUCCESS",  Wed Nov  9 23:30:00 GMT 2016

我们可以在文件本身中更改它吗?

任何帮助,将不胜感激。

马克西姆·埃格鲁什金

尝试:

awk -F',\\s*' '{print $1 "," $2 "," strftime("%c", $3/1000)}' file

输出:

"JOB1 #43",43 "SUCCESS",Sun 13 Nov 2016 23:30:00 GMT
"JOB1 #42",42 "SUCCESS",Sat 12 Nov 2016 23:30:00 GMT
"JOB1 #41",41 "SUCCESS",Fri 11 Nov 2016 23:30:00 GMT
"JOB1 #40",40 "SUCCESS",Thu 10 Nov 2016 23:30:00 GMT
"JOB1 #39",39 "SUCCESS",Wed 09 Nov 2016 23:30:00 GMT

您可能需要根据需要调整日期格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章