免费注册 查看新帖 |

Chinaunix

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

Perl 按时间进行查找,并且把符合条件的信息打印出来 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-28 18:40 |只看该作者 |倒序浏览
请大家帮帮忙.

如题erl 按时间进行查找,并且把符合条件的信息打印出来

例如:我现在写了一个perl 脚本,可以列出用户输入的路径的所有文件的信息,现在我想按时间查找自己所需要的文件信息.比如,我现在查找2008/1/21 所创建的文件.根据这个信息,就可以列出2008/01/21所创建的所有文件. 查寻条件的时间是可以任意输入的.  请高手给个思路,谢谢.  如果你有代码,可以贴上来,参考一下,再次感谢!

论坛徽章:
0
2 [报告]
发表于 2008-07-28 18:48 |只看该作者
直接用find不就好了?

论坛徽章:
0
3 [报告]
发表于 2008-07-28 21:11 |只看该作者

回复 #1 Miketanbin 的帖子

在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。

与文件相关的几个时间:

1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。

2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。

3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令+文件名。


perl中文件相关操作集合

-r 文件或目录对此(有效的)用户(effective user)或组是可读的
-w 文件或目录对此(有效的)用户或组是可写的
-x 文件或目录对此(有效的)用户或组是可执行的
-o 文件或目录由本(有效的)用户所有
-R 文件或目录对此用户(real user)或组是可读的
-W 文件或目录对此用户或组是可写的
-X 文件或目录对此用户或组是可执行的
-O 文件或目录由本用户所有
-e 文件或目录名存在
-z 文件存在,大小为0(目录恒为false)
-s 文件或目录存在,大小大于0(值为文件的大小,单位:字节)
-f 为普通文本
-d 为目录
-l 为符号链接
-S 为socket
-p 为管道(Entry is a named pipe(a“fifo”))
-b 为block-special 文件(如挂载磁盘)
-c 为character-special 文件(如I/O 设备)
-u setuid 的文件或目录
-g setgid 的文件或目录
-k File or directory has the sticky bit set
-t 文件句柄为TTY(系统函数isatty()的返回结果;不能对文件名使用这个测试)
-T 文件有些像“文本”文件
-B 文件有些像“二进制”文件
-M 修改的时间(单位:天)
-A 访问的时间(单位:天)
-C 索引节点修改时间(单位:天)

论坛徽章:
0
4 [报告]
发表于 2008-07-28 22:22 |只看该作者

回复 #3 hdc1112 的帖子

谢谢 hdc1112 精彩的回答,我现在的环境是在Window,我知道会出现你刚刚说的不能知道文件创建的时间,但是反过来想一下,每一个文件都会它的属性时间,那么我可以通过这个属性来查找.


@2楼所说的find, 不知可给个DEMO,说一下你的思路,再次感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP