免费注册 查看新帖 |

Chinaunix

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

一个文本替换问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-29 16:37 |只看该作者 |倒序浏览
我有一个文本如下格式
project_timestamp |              project_id              | project_name  | project_owner
-------------------+--------------------------------------+---------------+---------------
     1190698765370 | 7e7099df-8641-4160-b0cd-316886e1f229 | aaaa          | aa
     1190830056546 | a75a8a13-ef78-484f-85fc-aad5c1fe8a8a | aaaa          | aa
     1190903907296 | a0db9f34-4dcc-4413-843c-0e79cc21de39 | aaa           | aa
     1190869553824 | c349e417-5da7-4ba3-963f-d393c9e45a7a | ddddd         | aa
     1190952324759 | 61309c8c-b53e-474d-98e9-ee9fd059478f | bbb_fournodes | aa
     1191046592406 | b723059f-1c8b-4be9-9dde-3e90ff15eeba | sss           | aa


其中第一行的时间是使用JAVA计算出来的我使用SHELL计算的公式如下


awk '{print "date -d""\""" 19700101 "$1" seconds UTC" "\"" " +%Y%m%d\" \"%H%M%S"}' temp|sh


取得结果是这样的
20070925 133925
20070927 020736
20070927 223827
20070927 130553
20070928 120524
20070929 141632

那么我怎样才能把上边的时间进行替换呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-09-29 16:56 |只看该作者
try
while read a b;do echo $(date "+%Y%m%d %T" -d"19700101 $a seconds UTC") $b ;done<urfile

[ 本帖最后由 寂寞烈火 于 2007-9-29 16:57 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-09-29 17:21 |只看该作者
呵呵,看了好久才明白是怎么回事!

论坛徽章:
0
4 [报告]
发表于 2007-09-29 17:26 |只看该作者
我的做法是把两内如输出倒 ccc bbb 中
然后
paste -d \| ccc bbb
解决问题

论坛徽章:
0
5 [报告]
发表于 2007-09-29 18:08 |只看该作者
while read a b
do
  echo $(date -u "+%Y%m%d %T" -d "-$(($(date -u +%s)-$a/1000))seconds") $b
done <文件

解释:

date -u +%s 是获取1970-1-1到现在的  秒数

你的那个时间大概是  毫秒  所以我把它除1000了

用这两个时间的差来计算日期

date -u "+%Y%m%d %T" 输出指定格式的  时间形式
-d "-???seconds" 表示日期是???秒之前的

[ 本帖最后由 springwind426 于 2007-9-29 18:11 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP