2013年4月4日星期四

[总结] find 寻找某个时间后创建或修改过的文件


经常发现某些数据目录下会按时期来生成文件,以供别的程序以日期来进行数据整理与产出.而不幸运的是,没有轮偱机制将以前的旧数据删除,结果一堆旧数据, ls 一下滚半天,也找不到真正调程序需要的近期的有效数据.
于是乎我们需要根据时间这一特征来寻找出某个时间点以后新创建或被修改过的文件,不就解决问题了吗?!
google 了一下,发现此类问题提的还不少,有一个小技巧实用之极,特摘过来.

1. 以感兴趣的时间点创建一个文件
$ touch -t 1201050800.00 /tmp/cmp.test
2. 到数据目录用我们的瑞士军刀查找之
$ find . -newer /tmp/cmp.test -print
上面的命令会把目录也算在内,如果只关心文件变化,则可以如下:
$find . -type f -newer /tmp/cmp.test -print

附: touch - change file timestamps
    -t STAMP
        use [[CC]YY]MMDDhhmm[.ss] instead of current time

没有评论: