Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件

Linux下find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法
(1)Linux下find一次查找多个指定文件:
查找a.html和b.html

  1. find . -name "a.html"  -name "b.html"

find . -regex ‘.*\.txt\|.*\.doc\|.*\.mp3‘

  1. find . -regex ‘.*\.txt\|.*\.doc\|.*\.mp3‘
  2. ./a.txt
  3. ./a.doc
  4. ./a.mp3

(2)排除某些文件类型:
排除目录下所有以html结尾的文件:

  1. find . -type f ! -name "*.html"
  1. find . -type f ! -name "*.html"
  2. ./ge.bak.02.09
  3. ./ge.html.changed.by.jack
  4. ./a.txt
  5. ./a.doc
  6. ./a.mp3

(3)排除多种文件类型的示例:

  1. find . -type f ! -name "*.html" -type  f ! -name "*.php" -type  f ! -name "*.svn-base"  -type  f ! -name "*.js"  -type  f ! -name "*.gif"  -type  f ! -name "*.png"  -type  f ! -name "*.cpp"  -type  f ! -name "*.h"  -type  f ! -name "*.o"  -type  f ! -name "*.jpg"  -type  f ! -name "*.so"  -type  f ! -name "*.bak"  -type  f ! -name "*.log"

(3)在 GREP 中匹配多个关键字的方法:
grep查找多个数字的文件:
-r 递归,-E:正则  -l:只显示文件名

  1. [email protected]:~/a# grep -r -E ‘0341028|100081|10086|10001‘ *
  2. a.txt:100081
  3. b.txt:10086
  4. c/cc.txt:0341028
  5. c/cc.txt:100081
  6. c/cc.txt:10086
  7. c/cc.txt:10001
  8. c.txt:10001
  9. d.txt:0341028
  1. grep -r  -E -l ‘0341028|100081|10086|10001‘ *
  2. a.txt
  3. b.txt
  4. c/cc.txt
  5. c.txt
  6. d.txt

多种类型文件示例:

view plainprint?

  1. find . -name "*.html" -o -name "*.js"|xargs grep -r "BusiTree"

用Awk:

view plainprint?

  1. find . -name "*.php"|awk ‘{print "cat " $0 " |grep -H dbsys.mxxxx.justwinit.cn"}‘|sh

参考本站:http://justwinit.cn/post/714/

时间: 2024-12-15 20:59:28

Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件的相关文章

linux下的find&&grep查找命令

在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等. (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找. 一.find命令 基本格式:find  path expression 1.按照文件名查找 (1)find / -name httpd.conf #在根目录下查找文件httpd

Linux下的五个查找命令:grep、find、locate、whereis、which

1.grep grep(General Regular Expression Parser,通用规则表达式分析程序)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 它的使用语法为: grep [选项] pattern [文件名] . 匹配任意一个字符* 匹配0 个或多个*前的字符^ 匹配行开头$ 匹配行结尾[] 匹配[ ]中的任意一个字符,[]中可用 – 表示范围,例如[a-z]表示字母a 至z 中的任意一个\ 转意字符命令中的选项为:-b 显示块号-c 仅显示各指

linux下使用du命令查找最大的文件

找出某个磁盘下的最大文件,可以使用du命令:语法:du -sh [dirname|filename] 当前目录大小du -sh. 当前目录下文件或目录的大小du -sh* 显示前十个占用空间最大的文件或目录du -s * | sort -nr | head -n:纯数字排序    -r:反向排序 说明:-h:已易读的格式显示指定目录或文件的大小-s:指定对于目录不详细显示每个子目录或文件的大小

linux下命令行的查找顺序

由下可知,linux通过$PATH的路径顺序,由左至由依次查找某个程序,如果有两个路径下都有这个程序,以先找到的为准 [rpc_server]$ which 23/usr/bin/which: no 23 in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/install/java/bin:/home/tdqa/bin)[rpc_server]$ echo $PATH/usr/local/bin:/bin:/

linux下负载均衡集群 LVS之NAT类型

1.集群类型分下3种: LB: Load Balancing,负载均衡 HA:High Availability, 高可用 HP:High Performance, 高性能 2.LB负载均衡四层LVS类型分为以下3种:(Linux Virtual Server) NAT:地址转换 DR: 直接路由 TUN:隧道 2.1.NAT: 集群节点跟director必须在同一个IP网络中: RIP通常是私有地址,仅用于各集群节点间的通信: director位于client和real server之间,并负

linux 排除某类文件cp多个文件

find ./ -name '*20200114*' ! -name '*.tgz' --exec cp {} /bak20200121 \; cp $(find ./ -name '*20200117*' ! -name '*.tgz') /root/bak20200121/ -rfv 原文地址:https://www.cnblogs.com/pyvm/p/12221982.html

linux下shell脚本执行jar文件

最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚本 上面是小弟写的shell脚本.写的不好请见谅. 首先遇到的第一个坑 我在window下写的 然后道linux中执行,在linux死活都说俺的19行有错误,俺就不明白了,哪里有错,问了下别人,也说没错.突然有个高人问我在哪编写的,小弟回答在win下,他告诉俺执行下这个命令: dos2unix se

剖析linux下Find指令

无论在何种系统下,都需要进行查找.Windows下进行查找我们已经轻车熟路了,但是linux下该如何进行查找呢?今天我就来讲讲如何进行查找. 通常情况下我们都是使用whereis和locate来进行查找的.但是如果遇到真的找不到的情况,就需要用find指令来进行查找了.但是使用find命令有一个缺点就是比较慢,因为whereis和locate都是利用数据库来查找数据的,速度相对来说是比较快的,但并没有实际查询硬盘,所以比较节省时间.在这些查找指令中,find可谓是十分强大的.find命令在目录结

Linux下一个简单的日志系统的设计及其C代码实现

1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回值及其执行情况.脚本执行及调用情况等.通过阅读日志文件,我们能够较快地跟踪程序流程,并发现程序问题. 因此,熟练掌握日志系统的编写方法并快速地阅读日志文件,是对一个软件开发工程师的基本要求. 本文详细地介绍了Linux下一个简单的日志系统的设计方法,并给出了其C代码实现.本文为相关开发项目Linux