部分转载自陈连福的生信博客
当我运行得到结果文件后,需要删除当前目录下许多的中间文件夹:
find ./ -maxdepth 1 -type d -regex "./\w.*" -exec rm -rf {} +
各参数意义如下:
,
./ 是被搜索的文件夹
-maxdepth 1 表示仅搜索第一层目录
-type d 表示仅搜索文件夹类型数据,该参数要放-maxdepth参数后面,否则程序会有警告信息。
-regex “./\w.*” 使用正则表达式方式搜索数据,该正则表达式不会搜索当前目录下名称为 . 的目录,以防把当前目录直接删除。
-exec rm -rf {} + 用于对搜索到的文件执行相应的操作,其中{}表示搜索到的文件路径。{}后面可以接空格加号或空格反斜线分号。
>将当前目录下所有权限为600的普通文件变为644
find ./ -type f -perm 600 -exec chmod 644 {} +
>将当前目录下所有权限为700的文件夹变成755:
find ./ -type d -perm 700 -exec chmod 755 {} +
根据文件时间查找
find ./ -mtime +5 # 查找6天前的文件
find ./ -mtime 5 # 查找过去6~5天的文件
find ./ -mtime -5 # 查找过去5天的文件