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

相关推荐

  • 常见三种存储方式DAS、NAS、SAN的架构及比较

    随着主机、磁盘、网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文主要介绍三种主流存储方式DAS、NAS、SAN的架构及比较 DAS即直接连接存储(Direct Attached Storage), NAS即网络接入存储(Network Attached Storage), SAN即存储区域网络(Storage Area Network)。 存储的…

    2024年2月6日
    1.8K00
  • Centos如何通过Nexus代理yum源

    一 背景 公司的某些服务器不允许连接外网,造成这些服务器需要安装软件时非常不方便,此文章则是介绍如何通过Nexus3.x代理yum源,做到通过yum install来安装软件。 二 创建yum代理仓库 三 服务器上增加yum源 四 Yum安装软件

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

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

    2023年2月2日
    2.3K00
  • Linux 修改系统时间的两种方式

    我们一般使用“date -s”命令来修改系统时间。比如将系统时间设定成2010年4月5日的命令如下。 [root@rhel ~]# date -s 20100405 Mon Apr  5 00:00:00 CST 2010 将系统时间设定成14点31分0秒的命令如下 [root@rhel ~]# date -s 14:31:00 Mon Apr&n…

    2023年7月27日
    1.4K00
  • Linux实验案例:构建Samba文件共享服务器

    根据公司的信息化建设要求,公司需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑服务器的运行效率及稳定性、安全性问题,选择在CentOS系统中构建Samba服务器以提供文件资源共享服务。 需求描述 1.在/var/share/目录中建立三个子目录public、training、devel,用途如下。 public目录用于存放公共数据,如公司…

    2024年6月24日
    1.7K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信