免费注册 查看新帖 |

Chinaunix

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

关于shell脚本求救,根据文件修改时间批量移动到指定目录??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-30 01:26 |只看该作者 |倒序浏览
要求:
1.找到所有以.log结尾的文件。
2.将找到的文件放到临时目录/tmp
3.根据文件的修改时间,把文件归类,批量移动到以文件修改时间为目录名的目录中。

在此谢谢高手指教了,看能不能实现。。。

论坛徽章:
0
2 [报告]
发表于 2010-04-30 01:55 |只看该作者
本帖最后由 vitas333_cu 于 2010-04-30 02:48 编辑

1-2:   find / -name "*.log" -exec mv {} /tmp \;

你的时间是精确到分钟??
比如

Apr  5 15:31


??

论坛徽章:
0
3 [报告]
发表于 2010-04-30 09:59 |只看该作者
谢谢高手回复!!时间精确到日期就行

论坛徽章:
0
4 [报告]
发表于 2010-04-30 10:02 |只看该作者
时间格式20100430

论坛徽章:
0
5 [报告]
发表于 2010-04-30 10:14 |只看该作者

  1. mkdir /tmp/workdir
  2. mv *.log /tmp/workdir
  3. cd /tmp/workdir
  4. for f in *.log
  5. do
  6.    datedir=$(stat +%y "$f" | sed 's/ .*//;s/-//g')
  7.    [ -d "$datedir"] || mkdir "$datedir"
  8.    mv "$f" "$datedir"
  9. done

复制代码

论坛徽章:
0
6 [报告]
发表于 2010-04-30 10:28 |只看该作者
辉常感谢!!马上就去试试!!

论坛徽章:
0
7 [报告]
发表于 2010-04-30 10:41 |只看该作者
解释下5楼天使的
stat +%y获取*.log last modification时间
然后sed将修改时间后端.和-部分去除

论坛徽章:
0
8 [报告]
发表于 2010-04-30 10:46 |只看该作者
请教天使stat %y %Y %z %Z有何区别?万谢~
小弟初来,学习中

论坛徽章:
0
9 [报告]
发表于 2010-04-30 11:02 |只看该作者
回复 8# keke00


    %y 和 %z  都是可读的时间日期格式

%Y %Z 是 数字,是从1970-1-1 00:00:00 到现在经过的秒数

论坛徽章:
0
10 [报告]
发表于 2010-04-30 11:22 |只看该作者
天使,对于%y modify
                %z change
modify修改
change改变
这两个意思相近,不明白具体异同
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP