批量移动文件

find . -type d -maxdepth 1 -regex "\./bd2017.*" -exec mv {} ../bak_20171205 \;
效果,查找当前目录中以bd2017开头的文件夹,并将所有符合条件的文件夹移动到上一层目录中的bak_20171205文件夹。

批量删除文件

find . -type d -maxdepth 1 -regex "\./bd2017.*" -exec rm -rf {} \;
效果,查找当前目录中以bd2017开头的文件夹,并全部删除。ps:注意\的前面有空格。

find命令

-type 指定文件类型

  • f 普通文件
  • l 符号连接
  • d 目录
  • c 字符设备
  • b 块设备
  • s 套接字
  • p Fifo

-maxdepth 指定最大遍历深度
-mindepth 指定最小遍历深度
-regex 使用正则匹配结果集
-iregex 使用正则匹配结果集并忽略大小写
-name 使用文件名匹配结果集
-iname 使用文件名匹配结果集并忽略大小写
-exec 对结果集使用指令
-ok 对结果集使用指令并需要确认
{} find搜索到的结果集依次匹配在括号的位置
\; 截断标识

完整用法请参考 find命令

最后修改:2017 年 12 月 05 日
如果觉得我的文章对你有用,请随意赞赏