1、如图所示,有大量文件夹,想批量删除它们

2、使用命令 find . -maxdepth 1  -regex ".*ws.*" 可以批量找到他们。maxdepth值为1表示只在当前目录查找,不递归查找其子目录

3、使用命令 find . -maxdepth 1  -regex ".*ws.*" -exec rm -rf {} \; 批量删除它们,这个世界瞬间清爽了很多

ps注意后面的分号,不要省略啊

4、使用命令 find . -maxdepth 1  -regex ".*ws.*" | xargs rm -rf 同样可以批量删除

xargs是把前面的输出作为后面的参数,如果多行输出,就多次执行后面的命令

5、有的linux系统支持的regex正则表达式不一样,可以使用下面的方式替换

find . -maxdepth 1 -name "*ws*" | xargs rm -rf

6、find使用正则:
    find . -regex ".*\.\(txt\|sh\)"
    加参数“-regextype type”可以指定“type”类型的正则语法,find支持的正则语法有:valid types are `findutils-default', `awk', `egrep', `ed', `emacs', `gnu-awk', `grep', `posix-awk', `posix-basic', `posix-egrep', `posix-extended', `posix-minimal-basic', `sed'.

显示20分钟前的文件
find /home/prestat/bills/test -type f -mmin +20 -exec ls -l {} \;

find /home/prestat/bills/test -type f -mmin +20 -exec ls -l {} +

删除20分钟前的文件
find /home/prestat/bills/test -type f -mmin +20 -exec rm {} \;

显示20天前的目录
find /home/prestat/bills/test -type d -mtime +20 -exec ls -l {} \;

删除20天前的目录
find /home/prestat/bills/test -type d -mtime +20 -exec rm {} \;

在20-50天内修改过的文件

find ./ -mtime +20 -a -mtime -50 -type f

排除某些目录:

find ${JENKINS_HOME}/jobs -maxdepth 1  -name "*" -mtime +60 ! -path /var/lib/jenkins/jobs | xargs ls -ld;

排除某些文件:

find ${JENKINS_HOME}/jobs -maxdepth 1  ! -name "*.xml" -mtime +60 ! -path /var/lib/jenkins/jobs | xargs ls -ld;

理解下两种写法的区别:对结果没有影响;{}表示find找到的列表

find . -exec grep chrome {} \;

or

find . -exec grep chrome {} +

find will execute grep and will substitute {} with the filename(s) found. The difference between ; and + is that with ; a single grep command for each file is executed whereas with + as many files as possible are given as parameters to grep at once.

find . -type f | while read f;
do
echo $f;
# do something
done

另外,可以使用-ok替换-exec操作:-ok相比-exec多了提示的功能,每一步都需要用户确认,这样对于rm操作,更加安全

举例:找出内容为空的文件删除

参考:

https://javawind.net/p132

http://man.linuxde.net/find

https://unix.stackexchange.com/questions/12902/how-to-run-find-exec

批量删除linux的文件;find方法批量删除文件;find查找某时间段内的所有文件的更多相关文章

  1. 安全删除linux旧内核的方法

    我们在用yum升级系统之后,希望往往会为我们保持旧的内核文件,这样以防在出现硬件或者软件冲突的时候我们能够返回到旧的内核文件继续使用,如果我们想要安全的删除旧的内核文件,可以follow下面的方法. ...

  2. (win+linux)双系统,删除linux系统的条件下,删除grub引导记录,恢复windows引导

    //(hdx,y) (显示查找到的分区号)第一个数字指第几个硬盘,第二个指第几个分区.   一般我们是(hd0,0) \n Linux的分区已经被你从Windows中删除,系统启动后停在“grub&g ...

  3. shell查找指定时间段内的文件

    #!/bin/bash#20170905 输入参数格式echo "显示"$1"的备份文件"date_0=$1date_1=`expr $date_0 + 1`d ...

  4. linux系统连接的概念及删除原理

    硬连接:ln 源文件 目标文件 软连接:ln -s 源文件 目标文件 (目标文件不能事先存在) 硬连接是通过索引节点inode来进行连接. 在Linux文件系统中,多个文件名指向同一个索引节点,硬连接 ...

  5. Java 基础【13】 文件(文件夹) 创建和删除

    使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节. 比如 File 类中的 mkdir() 和 mkdirs() 的区别. JDK API ...

  6. Linux find命令使用方法

      Linux中find命令用来在指定目录下查找文件.通过组合不同参数可以在linux系统中快速查找需要的文件或目录. find命令语法 格式:find pathname -options [ -pr ...

  7. Java 基础【16】 文件(文件夹) 创建和删除

    使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节. 比如 File 类中的 mkdir() 和 mkdirs() 的区别. JDK API ...

  8. php中读取以及写入文件的方法总结

    ==>读取文件内容(方法一) $fileData = fread($fileStream,filesize($filePath)); 注意: 文本文件读取到网页上显示时,由于换行符不被解释,文本 ...

  9. 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)

    1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...

随机推荐

  1. 向SD卡写入树莓派的操作系统

    这是 meelo 原创的 玩转树莓派 系列文章 用到的工具: Win32 Disk Imager: sd卡读卡器  Raspbian操作系统镜像:下载地址 步骤1:下载操作系统的镜像 树莓派基金会的网 ...

  2. day5 常用模块json和pickle

    json 和 pickle json和pickle是用于字符串序列化和反序列化的过程,我们在存储和使用的时候,经常把列表存入文件,读取的时候我们还想以列表的形式读取.就需要使用json和pickle. ...

  3. [实战]MVC5+EF6+MySql企业网盘实战(18)——文件上传,下载,修改

    写在前面 经过一段时间的秀秀改改,终于把文件上传下载,修改文件夹文件名称的功能实现了. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企 ...

  4. oracle 子查询和组合函数

    oracle 子查询和组合函数 --查询与"SCOTT"在同一个部门的员工 select empno,ename,deptno from emp where deptno in ( ...

  5. Arduino可穿戴教程之第一个程序——选择端口(三)

    Arduino可穿戴教程之第一个程序——选择端口(三) 2.4.4  选择端口 在选择了板子之后,我们就需要选择板子连接到电脑的端口了.它也在“工具”菜单中设置,如图2.42所示. 注意:COM1端口 ...

  6. 2017/11/6 Leetcode 日记

    2017/11/6 Leetcode 日记 344. Reverse String Write a function that takes a string as input and returns ...

  7. noip历届 && 打代码常犯错误总结

    最近(21号~24号)A了下noip历届……(挑题做的,主要做最近几年的) 发现noip好像十分钟情于搜索枚举……好几届都有. 发现自己搜索基本功实在堪忧啊,首先算法设计的十分拙计,而且还不会剪枝,然 ...

  8. 欧拉回路 uoj117

    写了一道欧拉回路的模板题.先判断是否是欧拉回路,有向图和无向图有一点点不同,然后就是特判独立点的存在. 之后是输出路径,和dls学的dfs,利用last数组的更新可以做到线性的复杂度,否则一不小心就会 ...

  9. Test20171009 考试总结 NOIP模拟赛

    题目难度合适,区分度适中,但是本人水平不佳,没有拿到满意的分数. T1(matrix) 一种比较容易想到的想法是枚举起点求出最长全1串做预处理,这是O(n^2)的. 接着枚举列起点,列终点,通过后缀和 ...

  10. hdu 2709 递推

    题意:给出一个数,把他拆成2^n和的形式,问有多少种拆法 链接:点我 对6进行分析 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 4 2 2 4 2 4 对最上面4个,显然是由4 ...