Linux-批量查找删除文件/目录

批量删除指定目录下的文件

//删除当前目录下所有的 .log 结尾的文件
find . -name “*.log” -exec rm -rf {} \;

注:
1.{}和\之间有一个空格
2.find . -name 之间也有空格
3.exec 是一个后续的命令,{}内的内容代表前面查找出来的文件

//删除当前目录下 修改日期 在1天以前的文件
find . -mtime +1 -name “*” -exec rm -rf {} \;

//删除当前目录下 修改日期 在60分钟以前的文件
find . -mmin +60 -name “*” -exec rm -rf {} \;

文件内容查找

//查找当前目录下所有类型为file,文件后缀为class的文件
find . -type f -name *class

注:type参数 -f指文件 -d指目录

//查找当前目录所有文件内容包含abcd字符串的文件名
find ./ -type f -exec grep -il abcd {} \;
注:-i 值忽略关键字大小写; -l 只列出匹配的文件名

shell批量check删除目录

#!/bin/bash

for dir in $(ls $1)
do
  if [ -d $1"/"${dir} ] ; then
    rm -rf $1"/"${dir}
  fi
done

你可能感兴趣的:(Linux-批量查找删除文件/目录)