Linux查找目录下的按时间过滤的文件

在维护项目中,有时会指定都一些条件进行过滤文件,并对该批文件进行操作;这时我们将使用shell命令进行操作;直接上代码

#!/bin/sh
#BEGIN
        files=`find ./  -path "./2*" -prune -o  -type f  -newermt '2001-01-01 00:00:00' ! -newermt '2019-01-01 00:00:00'`
        for i in  $files
        do
        if [ -f $i ];then
            echo  $i >> grepfiles.txt
        fi
        done
#END

该程序将会获得该目录下忽略子目录(以2开头的目录)的所有2001-01-01 00:00:00到2019-01-01 00:00:00的所有文件,并输入到grepfiles.txt的文件中。

如需要获取所有的目录包括子目录下的文件,则

#!/bin/sh
#BEGIN
        files=`find ./ -type f  -newermt '2001-01-01 00:00:00' ! -newermt '2019-01-01 00:00:00'`
        for i in  $files
        do
      #-f指的时文件,-d则代表目录
if [ -f $i ];then echo $i >> grepfiles.txt fi done #END

猜你喜欢

转载自www.cnblogs.com/hhwww/p/10827558.html