find 查找文件grep匹配数据

一、find介绍

  1. find . -iname "*.txt"查找当前目录下各个文件夹下的txt属性的文件(i忽略大小写)。

2.find . -type f 查找当前目录下各个文件夹下的文件

3.find . -type d 查找当前目录下各个文件夹下的目录

4.find . -type f | xargs grep -ain -E "匹配字段" --colo=auto

grep参数介绍-a 选项 :以文本文件的形式处理二进制文件,-i 选项 :让搜索忽略大小写,-n 选项:在输出结果时,显示匹配行的行号,-E正则匹配,--colo=auto匹配结果自带颜色。

5.find -L ./ -path ./qt-creator-opensource-src-12.0.0/bin -prune -o -path ./qt-creator-opensource-src-12.0.0/coin -prune -o -type f| xargs grep -ain -E "chen3feng" --color=auto

执行命令所在目录有目录qt-creator-opensource-src-12.0.0。

-path ./qt-creator-opensource-src-12.0.0/bin -prune

  • path 选项用于匹配文件路径,./qt-creator-opensource-src-12.0.0/bin -prune 就是要匹配的路径模式。这意味着只要遇到路径是 ./qt-creator-opensource-src-12.0.0/bin -prune 的目录,find 就会停止对它及其子目录的搜索。
  • -prune 选项是告诉 find 命令,对匹配 -path 条件的目录不要进行遍历,也就是 "修剪" 掉这部分目录树,避免在指定目录及其子目录中继续查找,以此提高查找效率。在这个例子里,./qt-creator-opensource-src-12.0.0/bin -prune 目录及其内部的所有文件和子目录都会被跳过

-o:这是一个逻辑运算符,代表 "或(or)" 的关系,连接前后两个查找条件

-path ./qt-creator-opensource-src-12.0.0/coin -prune

同之前的命令一样含义。

-type f :-type 用于指定查找文件的类型,f 表示普通文件(file),也就是查找除了被 -prune 修剪掉的./qt-creator-opensource-src-12.0.0/bin 和 ./qt-creator-opensource-src-12.0.0/coin目录及其子目录之外的所有普通文件。

整体目录结构如下图:

6.find . -type f \( -name "*json" -o -iname "*lists.txt" \) | xargs grep -ain "匹配项"

find 命令用于在当前目录(.)及其子目录下查找特定类型的文件并进行grep匹配。

  • 括号 :括号\(`和`\)用于将多个条件组合在一起,让它们作为一个整体来处理,形成更复杂的逻辑判断。因为括号在 shell 中有特殊意义,所以需要用反斜杠\转义,使其被当作普通字符传递给 find 命令。
  • -name "*json" :-name 选项用于按文件名精确匹配,* 是通配符,代表任意字符序列,所以*json会匹配所有以.json为后缀的文件名。
  • -o:这是逻辑运算符 "或(or)",连接前后两个文件名匹配条件。
  • -iname "*lists.txt" :-iname 选项与 -name 类似,也是匹配文件名,但 -iname 是忽略大小写的,所以它会匹配所有名字是*lists.txt的文件,无论大小写如何
相关推荐
呉師傅15 分钟前
得力P2500、M2500系列打印机硒鼓加粉及清零方法【纯享版】
运维·网络·windows·电脑
Sayai20 分钟前
Elasticsearch 日志检索 DSL 实战:时间范围查询、字段去重、分钟级统计与最新日志获取
大数据·运维·elasticsearch·搜索引擎·日志分析
qetfw27 分钟前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
fb_123452 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle
东城居士3 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统
..Dauntless..3 小时前
【Linux】进程地址空间初步理解
linux·运维·服务器
Julien20043 小时前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法
字节跳动的猫4 小时前
LikeShop 积分体系全链路改造:获取规则、订单抵扣与积分商品兑换二开
运维·数据结构
杨云龙UP4 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
PellyKoo4 小时前
【linux运维】ubuntu+samba 用户组独占目录权限配置踩坑记
linux·运维·ubuntu