AWK命令将更新纪元时间更改为在同一行上列出纪元

时间:2012-12-11 02:24:51

标签: time awk line epoch

现在我有:

echo -n "Enter Path (or File if in directory) to Convert: " ; read FILE ; cat $FILE | awk '{print strftime("%c",$1)} {print}'

当输入要转换的文件或路径时,将打印以下内容:

Tue 04 Dec 2012 09:48:43 PM PST
1354686523
Wed 05 Dec 2012 09:47:38 PM PST
1354772858
Thu 06 Dec 2012 09:47:39 PM PST
1354859259
Fri 07 Dec 2012 09:46:08 PM PST
1354945568

以上只是一个示例日期。这是完美的,但我怎么能让它在同一条线上呢?因此它会在文件中显示每个日期:

Tue 04 Dec 2012 09:48:43 PM PST  --  1354686523
Wed 05 Dec 2012 09:47:38 PM PST  --  1354772858
Thu 06 Dec 2012 09:47:39 PM PST  --  1354859259
Fri 07 Dec 2012 09:46:08 PM PST  --  1354945568

非常感谢!!

2 个答案:

答案 0 :(得分:11)

你可以尝试:

awk '{ printf "%s -- %s\n", strftime("%c",$1), $0 }' file

答案 1 :(得分:0)

awk 'NR%2==0 {printf(" -- %s\n", $0) }
     NR%2==1 {printf("%s ", $0)} ' inputfile > outputfile

试试吧。解决了这个问题。