免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6285 | 回复: 9

如何在shell中强unix时间戳转换为系统时间 [复制链接]

论坛徽章:
0
发表于 2003-03-12 16:23 |显示全部楼层
例如:将时间戳1047335700 换算成可以识别的年月日分秒
求详细的换算方法

论坛徽章:
0
发表于 2003-03-13 08:02 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

...


方便一点就是 perl 了,

  1. #!/usr/bin/perl

  2. use POSIX(strftime);

  3. $string = 1047335715 ;
  4. $day = strftime("%Y-%d-%d %H:%M:%S", localtime($string)) ;
  5. print "$day\n";

  6. exit;
复制代码


awk 也有类似函数 strftime,但发必须是 GNU 版本的 awk。

(GNU date 很方便,date "+格式" string 就行了,但是大多UNIX下的是 POSIX date,没这个功能)

论坛徽章:
0
发表于 2003-03-13 12:16 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

我现在要做的是分析mrtg的日志,而日志里是用unix时间戳做时间的,我只会shell,对perl一窍不通,所以是用shell写的脚本,所以还请红袖添香详细告知awk如果实现给出一个时间戳转换成系统时间

论坛徽章:
0
发表于 2003-03-13 21:58 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

...


請問你是什麼系統?一般的UNIX下沒有 gawk. Linux 下可能有。

我現在暫時沒有 gawk 環境,等會兒我在 OpenBSD 機器上幫你看一下。

论坛徽章:
0
发表于 2003-03-14 10:03 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

谢谢拉,我是redhat

论坛徽章:
0
发表于 2003-03-15 14:42 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

up

论坛徽章:
0
发表于 2003-03-17 00:24 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

...

  1. #!/bin/sh

  2. string=1047335776
  3. echo $string | gawk -v str=$string '{
  4.     day = strftime("%Y-%d-%d %H:%M:%S", str)
  5.     print day
  6. }'
复制代码


OpenBSD 下通过测试。

论坛徽章:
0
发表于 2003-03-17 10:38 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

谢谢,纠正一个小笔误
day = strftime("%Y-%d-%d %H:%M:%S", str)
应该是
day = strftime("%Y-%m-%d %H:%M:%S", str)

论坛徽章:
0
发表于 2003-03-17 10:45 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

万分感谢,成功了
终于可以在shell下分析mrtg的日志了

论坛徽章:
0
发表于 2003-03-17 22:50 |显示全部楼层

如何在shell中强unix时间戳转换为系统时间

原帖由 "冷风" 发表:
谢谢,纠正一个小笔误
day = strftime("%Y-%d-%d %H:%M:%S", str)
应该是
day = strftime("%Y-%m-%d %H:%M:%S", str)


偶真粗心啊~~ 呵呵

还好你自己还比较细心  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP