前段时间,我看到有人想把电脑上2014-01-01到2014-12-31之间创建的多种格式的文件备份,我查阅了一些资料写了三条语句,能够实现把在这段时间内修改过的符合格式要求的文件保存起来(这里的时间是用ls -al 查询到的文件时间),先存起来以后再补充
touch -d 140101 test_old
touch -d 141231 test_new
find ./ -regextype posix-egrep -regex ".*\.(doc|xls|ppt|pdf)" -a -newer ./test_old -a ! -newer ./test_new -exec cp -p {} ./123 \;
如上所述,
首先建立两个文件,分别定义其创建时间为140101(2014年1月1日)和141231(2014年12月31日)
然后使用第三条语句,就完了。下面是我对第三条语句的理解
find:这个就不用说了
./:我需要查询的目录
-regextype posix-egrep -regex ".*\.(doc|xls|ppt|pdf)" :我的理解是使用grep的语法,(因为需要匹配多个文件格式,所以用grep方便)
-a:and的简称,可是使find执行两条及以上的命令
-newer:后跟文件名(名叫大壮),意思是符合条件的文件(名叫小壮)比这个文件(大壮)的创建时间晚(小壮自然比大壮年龄小)
! -newer:后跟文件名(叫小小壮),更好理解了,符合条件的文件(名叫小壮)比这个文件(小小壮)的创建时间早(小壮自然比小小壮年龄大)
-exec :后面可再接其他命令来处理查找到的结果
总体的意思是:查找符合文件格式(doc,xls,ppt,pdf),并且最近修改时间不早于2014年1月1日,不晚于2014年12月31日的文件
阅读(1687) | 评论(0) | 转发(0) |