1

我有一个文件:

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

这些行...意味着各种字符。我想用 cat 读取这个文件(我需要这样做)并用 sed 命令获取这些行,而不是我想将时代转换为日期......

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

不幸的是,这是行不通的。

4

2 回答 2

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

高温高压

于 2012-07-17T12:17:02.790 回答
0

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

cat test.txt | sed 's/^/echo "/; s/\([0-9]\{13\}\)/`date -d @\1`/; s/$/"/' | bash
于 2017-01-13T07:52:24.020 回答