免费注册 查看新帖 |

Chinaunix

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

求助:如何用shell编写日期计算的脚本? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-15 11:12 |只看该作者 |倒序浏览
文件名中包含了开始写文件的日期,如何判断文件最后修改日期是在开始写的48小时后?

开始时:
   export FEXT=`date +%Y%m%d%H%M`
     test > test.log.$FEXT

2天后:
[root@aaa test]# ls -l
total 15800
-rw-r--r--    1 root     root     10329525 Jul  6 08:00 test.log.200307040800

可是如何让程序自动判断确实是在48小时后结束的呢?

论坛徽章:
0
2 [报告]
发表于 2003-07-15 22:54 |只看该作者

求助:如何用shell编写日期计算的脚本?

一个笨一点儿的办法,在你的系统上不一定能用  

  1. #!/bin/sh
  2. for fn in test.log.*
  3. do
  4.         modifytime=`ls -lT $fn|awk '{printf("%s%02d%02d%s%s",$9,$6,$7,substr($8,1,2),substr(4,2))}'`
  5.         createtime=`echo $fn |tr -dc [0-9]`
  6.         dtime=`date -v -2d -fmt "%Y%m%d%H%M" $modifytime +%Y%m%d%H%M`
  7.         if [ $dtime -gt $createtime ];then echo $fn;fi
  8. done
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP