- 论坛徽章:
- 7
|
现有一文件, 内容如下:
#1419843842
cd /var/adm/history
#1419843843
ls
#1419843845
cd test
#1419843846
ls
#1419843846
ll
#1419843849
ll -a
#1419843883
su - root
#1419843951
exit
整个文件想要变成这样:
Mon Dec 29 17:04:02 CST 2014 : cd /var/adm/history
Mon Dec 29 17:04:03 CST 2014 : ls
Mon Dec 29 17:04:05 CST 2014 : cd test
Mon Dec 29 17:04:06 CST 2014 : ls
Mon Dec 29 17:04:06 CST 2014 : ll
Mon Dec 29 17:04:09 CST 2014 : ll -a
Mon Dec 29 17:04:43 CST 2014 : su - root
Mon Dec 29 17:05:51 CST 2014 : exit
其实就是将#后面的数字变成易读的日期格式, 比如
[root@centos6 root]# date -d @1419843843
Mon Dec 29 17:04:03 CST 2014
请问如何只用AWK或者SED实现?谢谢!
[root@centos6 test]# awk '/#/{x=substr($0,2);y=(date -d @x);printf("%s : ", y);next}{print}' file
awk: /#/{x=substr($0,2);y=(date -d @x);print y;next}{print}
awk: ^ invalid char '@' in expression
|
|