find排除文件或目录搜索

使用find命令时排除特定目录的方法 在Linux系统中,find命令是一个非常强大且常用的工具,用于在指定目录下搜索文件和目录。然而,在实际使用过程中,有时我们需要排除某些特定的目录,以提高搜索效率或避免搜索到不需要的文件。例如,在搜索.js文件时,可能想要排除目录,因为该目录通常包含大量第三方依赖文件,搜索这些文件可能会消耗大量时间和系统资源。 阅读详情

man 信息

man find查看输出的-path选项:

-path pattern
              File name matches shell pattern pattern.  The metacharacters  do
              not treat ‘/’ or ‘.’ specially; so, for example,
                        find . -path "./sr*sc"
              will  print an entry for a directory called ‘./src/misc’ (if one
              exists).  To ignore a whole directory tree,  use  -prune  rather
              than  checking every file in the tree.  For example, to skip the
              directory ‘src/emacs’ and all files and  directories  under  it,
              and  print the names of the other files found, do something like
              this:
                        find . -path ./src/emacs -prune -o -print

              Note that the pattern match test applies to the whole file name,
              starting from one of the start points named on the command line.
              It would only make sense to use an absolute path  name  here  if
              the  relevant  start point is also an absolute path.  This means
              that this command will never match anything:
                        find bar -path /foo/bar/myfile -print

              The predicate -path is also supported by HP-UX find and will  be
              in a forthcoming version of the POSIX standard.

从man中得知,可以使用了-path pattern  -prune实现,如果想要在排除的结果中继续操作的话可以使用-o 继续处理匹配项。

1、排除某个目录查找:find . -path "pattern" -prune -o -print  #在当前目录下查找时pattern要以相对路径开头;如果使用绝对路径查找的话,pattern也要使用绝对路径

2、排除某个文件:find . ! -name filename

3、排除多个目录:find .  -path "pattern1"  -prune -o -path "pattern2" -prune -o  ! -name "."  或

find . -path \( -path pattern1 -o -path pattern2 \) -prune -o -print   #使用()

实例

假设kernel_modules目录结构如下:

[root@localhost kernel_modules]# ls -R
.:
hello.c  imp1  Makefile  proc-module.c


./imp1:
imp1.h  imp1_k.c  imp1_u  imp1_u.c  Makefile  output

1、列出所有不在imp1目录下的文件

[root@localhost kernel_modules]# find .  -path "./imp1"  -prune -o ! -name "."

./imp1
./hello.c
./Makefile
./proc-module.c

需要注意的是-path带的参数要为 "./imp1",否则起不到排除imp目录的作用,因为imp1目录下的文件名是./imp1/filename,与imp1 pattern不匹配

2、查找文件名为非*.c的文件

 find . ! -name "*.c" 

3、排除多个目录

先使用cp imp1 imp2 -r 命令生成imp2目录,然后排除imp1和imp2进行查找

[root@localhost kernel_modules]# find . \( -path "./imp1" -o  -path "./imp2" \) -prune -o  ! -name "."
./hello.c
./imp1
./imp2
./Makefile

./proc-module.c

使用find .  -path "./imp1" -prune -o  -path "./imp2"  -prune -o  ! -name "."效果也一样,有兴趣的话可以自己尝试下

linux下find命令查找排除命令(简单明了) linux下find命令查找排除命令(简单明了),精心整理,实践测试 立即下载

相关推荐

AI智能体升级实战:从规则匹配到Function Call,准确率提升86%的技术选型之路

AI智能体升级实战:从规则匹配到Function Call的技术演进 文章记录了AI邮件助手从传统规则匹配升级到Function Call的技术迭代过程。通过案例分析,揭示了规则匹配的三大核心问题:覆盖不全(用户表达千变万化)、组合困难(多条件容易漏掉)、维护噩梦(每个需求都要新增规则)。测试数据显示,规则匹配在复杂查询中的准确率仅51%,严重影响用户体验。 技术团队对比了三种升级方案:1) 继续优化规则匹配(天花板明显);2) 微调专用NLP模型(成本高);3) 采用Function Call(灵活高效)

yweng18的博客 1079

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目录,查找所有以.

冰雪世界 2万+

Python+gensim【中文LDA】简洁模型

文章目录完整代码过程详解words_lsdictionarydictionary.doc2bow函数corpuslda 完整代码 from gensim import corpora, models import jieba.posseg as jp # 待分析文本集 text1 = '美国教练坦言,没输给中国女排,是输给了郎平' text2 = '中国女排世界排名第一?真实水平如何,听听巴西和美...

ArYe 2万+

find查找及grep过滤

find命令以及grep命令的使用

qq_45364825的博客 2122

手把手教你用Three.js+Vue打造3D机房可视化系统(附完整代码)

本文详细介绍了如何使用Three.js与Vue 3构建企业级3D机房可视化系统。从技术选型、项目架构设计到3D场景构建、设备建模与渲染策略,提供了完整的开发方案和实战代码。重点讲解了如何实现设备状态实时监控、交互操作与性能优化,帮助开发者快速掌握3D可视化开发的核心技术。

ttt77的博客 315

Argoverse轨迹预测实战:从数据加载到地图API应用全解析

本文详细解析了Argoverse数据集在轨迹预测中的应用,从数据加载到地图API的实战技巧全涵盖。通过具体代码示例展示如何高效处理轨迹数据、实现可视化及基础预测模型,帮助开发者快速掌握自动驾驶轨迹预测的核心技术。特别介绍了Argoverse地图API的深度应用和性能优化经验。

weixin_29182481的博客 241

2022-11-30 linux find ! -path “./device/*“ -name 命令搜索排除文件夹,后面加 就可以xargs rm -rf 把搜索到文件删除。

我测试用-prune -o的话会把过滤目录下的所有文件都删调,用!-path的方式才可以实现。

海月汐辰 2809

VUE3如何使得大屏自适应的几种方法?

16:9。

weixin_42711805的博客 1万+

find查找文件排除一个或多个目录

使用find搜索查找文件时,可以通过排除一个或多个目录/名称,从而提升搜索效率并获得更需要的结果。1. 以下例子在当前目录中查找asd,不搜索名称为abc的目录或子目录。2. 在当前目录中查找asd,排除任何名称为ab或ac的目录。

化繁为简,深入浅出 626

GD32F303 Keil 工程项目从零搭建实战指南

本文是一份详细的GD32F303 Keil工程项目从零搭建实战指南。文章阐述了亲手搭建工程的重要性,并逐步指导开发者完成从环境准备、目录规划、工程创建、文件添加、关键配置到编译调试的全过程。重点讲解了如何正确选择启动文件、添加外设库、配置头文件路径和全局宏,旨在帮助开发者深入理解工程结构,掌握GD32F303开发的核心技能,实现从“会用”到“懂”的跨越。

weixin_29190651的博客 404

亲测解决This application failed to start because no Qt platform plugin could be initialized.

这个问题是由于环境变量改变或者Qt的路径改变导致,解决办法是在环境变量里面重新添加Qt路径。

狂小虎/Anthony Dave的博客 KuangXiaoHu's Blogs 2920

linux find prune exec 排除某目录或文件 执行

查找cache目录下不是html的文件 find ./cache ! -name '*.html' -type f 列出当前目录下的目录名,排除includes目录,后面的-print不能少 find . -path './includes' -prune -o -type d -maxdepth 1 -print 排除多个目录,”(“前是带”\”的 fi

wanwiy的专栏 710

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

find排除一个或多个目录的方法

find排除一个或多个目录的方法 百度就是垃圾,搜索结果千篇一律,错抄错。google一下,总结find排除某个目录的方法: How to exclude a directory in find . command Use the -prune switch. For example, if you want to exclude the misc directory just add a -path ./misc -prune -o to your find command: 寻找当前目录,排除misc

秋̶᭄ꦿ攻城狮࿆ྂ 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

shell命令--find使用排除目录或文件的方法

当我们查找某一目录时,需要过滤掉某个子目录或文件不想去find 使用以下方法 find . ! -path ‘*不想查找的名字*’ /bin/find . ! -path '*NAME*' -mmin +120 -type f ...

打卤的博客 4036

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

find 排除目录

http://bbs.chinaunix.net/thread-3764917-1-1.html1. 只排除一个目录或者文件,如查找/tmp/ 目录下所有文件(不包含目录), 并且不包含目录123find /tmp/ -path "/tmp/123" -prune -o -type f -print2. 排除两个或者多个目录或者文件,如查找/tmp/ 目录下所有文件...

weixin_33686714的博客 214

linux下find、grep命令详解

grep命令 格式:grep 参数 要查内容 路径 常用参数: -r:递归 -n:显示行号 -i:忽略大小写 -c:匹配到的行数 -w:全词匹配 -v:显示不包含匹配文本的所有行 递归搜索文件:grep -r "from" ./ aaa@hadoopslave16:~/data/hive/aaa$ grep -r "from" ./ ./2.sql: from tmp.tmp_...

仙道Bob的专栏 8850

find查找文件的时候排除某个或几个文件或目录

find查找文件的时候排除某个或几个文件或目录 转自:http://www.cnblogs.com/starspace/archive/2008/10/20/1315380.html 比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件 find /usr/sam -path "/usr/sam/dir1" -prune -o -print find...

weixin_30608131的博客 156

linux 中的代码搜索技巧

linux 中的代码搜索背景技巧 背景 一般代码会在linux上,用linux做为编译服务器,在代码量大的时候搜索很麻烦。 技巧 只搜索.c .h 为扩展名的文件 grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern" 排除.o 文件进行搜索 grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern" 排除一些目录进行搜索 grep --exclude-dir=

networkhunter的博客 1063

find in linux

find命令的作用是在目录中根据文件名搜索文件find 列出当前目录及其子目录的所有文件和文件夹的完整路径。find -name Help.java 在当前目录及其子目录中搜索文件名为Help.java的文件。find . -name Help.java 在当前目录及其子目录中搜索文件名为Help.java的文件(同上)。find / -name Help.java 在整个硬盘中搜索文件...

dielucui7698的博客 172

linux之搜索指定字符文件

在当前目录中搜索文件 (1)在当前目录中搜索文件名称中带api的文件 find ./ -name "*api*" (2)在当前目录中,搜索以txt结尾的文件 find ./ | grep "txt$" 在当前目录的文件中查找包含某个字符的命令 grep -ic "Eng" ./* # -i 忽略大小写 # -c 计算出现的次数 # -n 输出行号 # -r 查找当前目录及子目录 ...

DaxiaLeeSuper的博客 3579

find 命令查找不包含的目录和文件

find 命令查找不包含的目录和文件 exclude files in the find command find命令常用来查找特定目录下,所有相关文件,可是也经常要排除特定内容的文件/目录,比如不想看svn/cvs的系统文件目录,如何做到呢,明显-name不能解决问题,但是可以用find 的 -not参数,比如查找不包含.svn的所有文件:java 代码 ...

yuanlanxiaup 1595

【嵌入式开发 Linux 常用命令系列 1.6 -- grep 过滤指定的目录】

来搜索指定的字符串。这种方法给了你更多的灵活性来排除特定的目录或文件模式。这个参数允许你指定一个或多个目录名称来排除它们的内容不被。这对于忽略一些常见的临时文件夹或特定的目录非常有用。搜索字符串并希望排除特定目录时,可以使用。目录下的文件,然后对这些文件使用。

CodingCos的博客 704

《Linux运维总结:find命令高级用法详解》

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

东城绝神 1万+
上一篇: 进程与线程的区别与联系
下一篇: Linux Shell 截取字符串
LinuxG_G
博客等级 码龄15年 58粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值