Find,grep 可以轻松实现对指定文件和目录的查找,查看,删除,***内容的清理等等……虽然不及sed\awk\功能强大和复杂,但其方便易用结合其它命令还是可以为我们提供强大的实用功能
1、 查找文件
创建如下结构文件和文件夹,使用find查找my5.txt
find ./ -name my5.txt #查找文件
创建如下结构文件文件夹,使用FIND查找分别查找t文件夹和t.txt文件
find ./ -type d -name t #查找文件夹(d类型为目录)
find ./ -type f -name t.txt #查找文件(f类型为文件)
查找以当前时间点往前推指定时间内的文件
find /data/test/ -ctime -1 #查找指定目录下,当前时间点往前推1天内创建的文件或文件夹
find /data/test/ -ctime -6 #查找指定目录下,当前时间点往前推6天内创建的文件或文件夹
find /data/test/* -ctime -7 #查找指定目录下,当前时间点往前推7天内创建的文件或文件夹
查找并显示指定目录下所有文件详细信息(包含子目录下的所有文件)
find /data/test/ -mtime -7 ! -type d|xargs ls -l
find /data/test/ -mtime -7 |xargs ls –l #如果不排除非目录的显示结果(参数[ ! -type d])子目录内容会被重复显示
查找当前目录下所有文件不包括文件夹
find ./ ! -type d
查找文件中包含指定内容的文件
find /data/test/ ! -type d |xargs grep jerry
查找到指定内容的文件后进行删除操作
我们先查找后只需要获取目录:
find /data/test/ ! -type d |xargs grep jerry|awk -F":" ‘{print $1}‘
由于检索文件内容有重复所以我目录有重复的,如果执行删除也不会出错,但是为了严谨我们去掉重复的
find /data/test/ ! -type d |xargs grep jerry|awk -F":" ‘{print $1}‘|uniq
find /data/test/ ! -type d |xargs grep jerry|awk -F":" ‘{print $1}‘|uniq |xargs rm -rf
原文地址:http://blog.51cto.com/jdonghong/2301620