在维护项目中,有时会指定都一些条件进行过滤文件,并对该批文件进行操作;这时我们将使用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