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

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

请大家帮帮忙.

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

例如:我现在写了一个perl 脚本,可以列出用户输入的路径的所有文件的信息,现在我想按时间查找自己所需要的文件信息.比如,我现在查找2008/1/21 所创建的文件.根据这个信息,就可以列出2008/01/21所创建的所有文件. 查寻条件的时间是可以任意输入的.  请高手给个思路,谢谢.  如果你有代码,可以贴上来,参考一下,再次感谢!
直接用find不就好了?
在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 索引节点修改时间(单位:天)
谢谢 hdc1112 精彩的回答,我现在的环境是在Window,我知道会出现你刚刚说的不能知道文件创建的时间,但是反过来想一下,每一个文件都会它的属性时间,那么我可以通过这个属性来查找.


@2楼所说的find, 不知可给个DEMO,说一下你的思路,再次感谢!