当我运行得到结果文件后,需要删除当前目录下许多的中间文件夹:
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 {} +