免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11328 | 回复: 14
打印 上一主题 下一主题

awk中如何使用date将文件中的日期按格式输出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-12 15:34 |只看该作者 |倒序浏览
我的文件中的第9项是日期,如:Sun Jan 03 23:54:45 2010

我想使用date命令转换成秒:date -d "Sun Jan 03 23:54:45 2010" +%s

现在怎么能在awk中使用date并将结果赋值给awk的变量呢?

awk 'BEGIN{FS=";"}{"date -d $9 +%s" | getline t;print t}' file1 我这样写的不能执行。

求大侠指点!!!

论坛徽章:
0
2 [报告]
发表于 2010-01-12 15:35 |只看该作者
自己先顶一下

论坛徽章:
0
3 [报告]
发表于 2010-01-12 15:36 |只看该作者
在线急等啊!!!

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
4 [报告]
发表于 2010-01-12 16:21 |只看该作者
用子 shell 么~

论坛徽章:
0
5 [报告]
发表于 2010-01-12 16:21 |只看该作者
  1. echo Sun Jan 03 23:54:45 2010|awk '{system("date -d \""$0"\" +%s")}'
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-01-12 17:39 |只看该作者

回复 #4 vermouth 的帖子

是在shell脚本里用awk命令。
多谢回复!

论坛徽章:
0
7 [报告]
发表于 2010-01-12 17:40 |只看该作者

回复 #5 liying_gg 的帖子

多谢了,可以用。

但是输出有个问题:

#awk 'BEGIN{FS=";"}{system("date -d \""$9"\" +%s") | getline t;print t}' ./file1
1262534085
sh: 0: command not found

论坛徽章:
0
8 [报告]
发表于 2010-01-12 18:04 |只看该作者
程序想实现的功能是:
设定一个时间段,比较文件中第9项,如果在设定的时间段内,输出这个记录的第54项。

# awk 'BEGIN{FS=";"}{system("date -d "\"$9"\" +%s") | getline t;if ( t < endlog ) && ( t > startlong ){print $54}}' ./file1
awk: BEGIN{FS=";"}{system("date -d "\"$9"\" +%s") | getline t;if ( t < endlog ) && ( t > startlong ){print $54}}
awk:                                ^ backslash not last character on line

这是现在写的awk语句,但是出错了!

论坛徽章:
0
9 [报告]
发表于 2010-01-12 18:04 |只看该作者
有没有更好的思路或方法?

论坛徽章:
0
10 [报告]
发表于 2010-01-12 18:14 |只看该作者

回复 #7 摩罗王子 的帖子

我可不是你那么写的啊,别冤枉我
  1. awk 'BEGIN{FS=";"}{t=system("date -d \""$9"\" +%s")}t < endlog && t > startlong{print $54}' file
复制代码

[ 本帖最后由 liying_gg 于 2010-1-12 18:18 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP