find命令排除某些目录或文件

#在当前目录下排除abc目录,查找所有文件 

find . -path "./abc" -prune -o -print

#在当前目录下排除abc目录,查找所有以.txt结尾的文件【方式一】

 find . -path "./abc" -prune -o -name "*.txt" -print

#在当前目录下排除abc目录,查找所有以.txt结尾的文件【方式二】

 find . -name ".txt" -not -path "./abc/"

#在当前目录下排除abc和def目录,查找所有以.txt结尾的文件

 find . ( -path ./abc -o -path ./def ) -prune -o -name "*.txt" -print

#在当前目录下排除abc目录和def/h.txt文件,查找所有以.txt结尾的文件

 find . ( -path ./abc -o -path ./def/h.txt ) -prune -o -name "*.txt" -print

#在当前目录下排除abc目录和def/h.txt文件和jk目录,查找所有以.txt结尾的文件 

find . ( -path ./abc -o -path ./def/h.txt -o -path ./jk ) -prune -o -name "*.txt" -print

#在当前目录下查找所有不是以.html结尾的文件 

find . ! -name "*.html" -type f

使用-prune开关。例如,如果要排除misc目录,只需将a添加-path ./misc -prune -o到您的find命令中:

find . -path ./misc -prune -false -o -name '*.txt'

这是带有多个目录的示例:

find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -false -o -name '*.txt'

在这里,我们排除./dir1./dir2./dir3在当前目录中,因为在find表达它是作用于标准的动作-path dir1 -o -path dir2 -o -path dir3(如果DIR1DIR2DIR3),以相与type -d

要排除任何级别的目录名称,请使用-name

<span style="background-color:#f5f5f5"><span style="color:#4a4a4a"><code>find . -type d \( -name node_modules -o -name dir2 -o -path name \) -prune -false -o -name '*.json'</code></span></span>

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9059

(0)
郭靖的头像郭靖
上一篇 2023年6月16日 下午4:36
下一篇 2023年6月19日 下午4:22

相关推荐

  • Jenkins打包、发布、部署

    前言 服务器:CentOS 7.9 64位 jdk:1.8 maven:3.9.1 git:git version 1.8.3.1 jenkins:2.346. 一、安装jdk1、下载jdk的rpm安装包(根据自己的操作系统选择对应版本),上传到服务器,执行 yum install jdk-8u301-linux-x64.rpm –y 命令。 2、执行 ja…

    2023年12月22日
    99700
  • 开源网站监控利器:Utime Kuma部署指南

    🔍 Uptime Kuma 简介 GitHub 项目地址:https://github.com/louislam/uptime-kuma 一款开源自托管监控工具,支持多种协议检测(HTTP/TCP/Ping/DNS 等)和实时告警(飞书/钉钉/邮件等) 核心优势: 🚀 部署教程 Docker 部署 验证:访问 http://服务器IP:3001​ 完成初始化…

    2025年6月14日
    1.4K00
  • centos7 shell 支持中文显示

    其实很简单,让 shell 支持 utf8 即可。先使用locale命令看一下设置情况: LC_ALL没有设置,需要赋值en_US.UTF-8,很简单: 最后,不要忘了source一下bash_profile,让其生效。

    2023年3月14日
    1.3K00
  • 使用cloud-init新建虚拟机后重启系统网络IP地址丢失

    cloud-init 是 Linux 平台的⼀个开源⼯具,可以为云平台的 Linux 虚拟机完成⼀系列系统初始化配置。作为⼀个⾮常驻服务,开机启动时执⾏后⽴即退出,不会监听任何端⼝。 环境 问题 解决方案 如果在firstboot部分之后不使用cloud init服务,解决此问题的方法是禁用并停止cloud init服务。在第一个引导步骤之后,禁用cloud…

    2023年2月2日
    2.3K00
  • linux修改limits.conf不生效

    一、修改方法 1.临时方法 为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。 2.永久生效方法 (1)、修改/etc/security/limits.conf文件 在文件末尾添加如下内容,然后重启服务器或重新登录即可生效。重启后用查看命令进行查看,如果显示数字等于204800即证明修改成功。如…

    2024年5月14日
    1.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信