猫文件找到时期,然后将时期转换为日期

时间:2012-07-17 11:50:50

标签: bash date epoch

我有一个文件:

....1342477599376
    1342479596867
    1342480248580
    1342480501995
    1342481198309
    1342492256524
    1342506099378....

这些行...表示各种角色。我想用cat读取这个文件(这是我需要的那个)并且使用sed命令获取这些行,而不是我想将epoch转换为日期...

cat myfile.log  | sed '...*//' | sed 's/...*//' | date -d @$1

不幸的是,这不起作用。

2 个答案:

答案 0 :(得分:1)

单向,使用sed

cat file.txt | sed "s/^.*\([0-9]\{13\}\).*/date -d @\1/" | sh

结果:

Thu Jun  4 14:16:16 EST 44511
Sat Jun 27 17:07:47 EST 44511
Sun Jul  5 06:09:40 EST 44511
Wed Jul  8 04:33:15 EST 44511
Thu Jul 16 05:58:29 EST 44511
Sat Nov 21 05:42:04 EST 44511
Fri Apr 29 10:56:18 EST 44512

HTH

答案 1 :(得分:0)

这是类似的解决方案,但它会在流中找到时间戳

cat test.txt | sed 's/^/echo "/; s/\([0-9]\{13\}\)/`date -d @\1`/; s/$/"/' | bash