find和grep命令的简单使用
find和grep命令的简单使用
- 一、find
- 例子--不同条件查找
- 二、grep
- 正则表达式的简单说明
- 例子--简单文本查找
- 例子--结合管道进行查找
一、find
find 命令在指定的目录下查找对应的文件。
find [path] [expression]
● path 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
● expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
常用可选参数:
- -name pattern:按文件名查找,支持使用通配符 * 和 ?。
- -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
- -size [±]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
- -mtime days:按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
- -user username:按文件所有者查找。
- -group groupname:按文件所属组查找。
- -amin n:查找在 n 分钟内被访问过的文件。
- -atime n:查找在 n*24 小时内被访问过的文件。
- -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
- -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
- -mmin n:查找在 n 分钟内被修改过的文件。
- -mtime n:查找在 n*24 小时内被修改过的文件。
例子–不同条件查找
- 查找 /home 目录下大于 1MB的文件
find /home -size +1M
- 查找 /home 目录下小于1MB的文件
find /home -size -1M
- 查找 /etc 目录下 在7天前修改过的文件(不包含文件目录)
find /etc -mtime +7 -type f
- 查找 / 下及其字目录的所有文件后缀为 .c的文件
find / -name "*.c"
- 查找 /home及其子目录下文件类型为目录的文件
find /home -type d
- 查找robin用户所拥有的文件中以txt结尾的文件
find -user robin -name "*.txt"
二、grep
grep命令在文本文件中查找指定模式的词或短语,然后在标准输出设备上显示包括给定字符串模式的所有行。
grep -E 等同于 egrep , 使用扩展的正则表达式模式进行搜索
grep -F 等同于 fgrep ,字符串快速检索不支持正则表达式
grep [选项]... PATTERN [FILE]...
● pattern - 表示要查找的字符串或正则表达式。
● files - 表示要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据。
常用选项:
● -i:忽略大小写进行匹配。
● -v:反向查找,只打印不匹配的行。
● -n:显示匹配行的行号。
● -r:递归查找子目录中的文件。
● -l:只打印匹配的文件名。
● -c:只打印匹配的行数。
● -x : 只显示整个行都严格匹配的行
● -E 将查找模式解释成扩展的正则表达式
● -F 将查找模式解释成单纯的字符串
正则表达式的简单说明
正则表达式(简称 “regex”)是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。
| 组合 | 说明 |
|---|---|
| [abc] | 匹配中括号中的所有字符 |
| [a-z] | 匹配中括号中的字符范围内的所有字符 |
| [^abc] | 匹配除中括号中的字符外的所有字符 |
| * | 匹配前面的子表达式零次或多次 |
| + | 匹配前面的子表达式的一次或多次 |
| ? | 匹配前面的子表达式零次或一次 |
| . | 代表任意一个字符 |
| $ | 匹配输入字符串的结束位置,以…结尾 |
| ^ | 匹配输入字符串的起始位置,以…开头 |
| {n} | 匹配确定的n次 |
| {n,} | 至少匹配n次 |
| {n,m} | 最少匹配n次最多匹配m次 |
例子–简单文本查找
首先,在当前目录下创建一个文件,用于grep命令的练习
vi a.txt
Albania
Algeria
Canada
0
1
3
11
-
grep 对于 匹配的字符串区分大小写

-
“.” 只匹配一次任意字符

这里第二次匹配,因为没有添加严格限制选项,它依然匹配到了内容,加上严格限制以后得出了正确的结果。
- “+” 与 “?” 和 “”的区别
“+” 代表匹配前面的子表达式一次或多次 ; “ ?”相当于占位符,匹配前面的子表达式零次或一次; “”代表匹配前面的子表达式任意次。

这里的话,有一个问题就是多个正则表达式的特殊字符,需要使用 -E 开启正则表达式匹配模式,否则的话会出现找不到的问题。

例子–结合管道进行查找
- 查找根目录下的所有s开头的文件及目录
ls / | gerp -E ^s

- 查找/home目录下不是以数字结尾的文件及目录
ls /home | grep -v -E [0-9]$

- 查找/etc/passwd 中的以 user开头的账号信息
cat /etc/passwd | grep -E ^user* # 看起来貌似直接使用grep不用管道也行
# 等同于 grep -E ^user* /etc/passwd

相关文章:
find和grep命令的简单使用
find和grep命令的简单使用 一、find例子--不同条件查找 二、grep正则表达式的简单说明例子--简单文本查找例子--结合管道进行查找 一、find find 命令在指定的目录下查找对应的文件。 find [path] [expression]● path 是要查找的目录路径,可以是一个目录或文件名…...
力扣:164. 最大间距(Python3)
题目: 给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值 。如果数组元素个数小于 2,则返回 0 。 您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。 来源:力扣(LeetC…...
游戏平台采集数据
首先,你需要在你的项目中添加Kotlin的网络库,例如OkHttp。你可以在你的build.gradle文件中添加以下依赖: dependencies {implementation com.squareup.okhttp3:okhttp:4.9.0 }然后,你可以使用以下代码来创建一个基本的网络爬虫&a…...
CSS让两个标签在同一行显示并自适应宽度
CSS让两个标签在同一行显示并自适应宽度 示例:svg 和 span 在同一行上并自适应宽度 使用 Flexbox 布局 HTML <div class"flex-container"><svg class"svg-icon" aria-hidden"true"><use :xlink:href"#icon-s…...
Leetcode154. Find Minimum in Rotated Sorted Array II
旋转数组找最小,这次值可以重复 不妨假设你已经做了上一题,题解 上一题的方法1肯定是用不了了,因为不再能完全分成2个不同的部分 所以我们沿着方法2走 如果 > n u m s [ r ] >nums[r] >nums[r],我们依然可以找右半边 …...
【分析思路】测试数据分析思路
测试数据分析思路: 性能数据 对性能测试数据进行分析时,可以从以下几个维度进行比较: 响应时间(Response Time):分析每一天的响应时间数据,可以查看系统在不同时间段的性能表现,是…...
链表的实现(文末附完整代码)
链表的概念及结构 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 我们在上一篇文章所学习的顺序表是连续存储的 例如: 顺序表就好比火车上的一排座位,是连续的 而链表就好比是火车…...
asp.net core 获取服务实例的几种方式
在ASP.NET Core中,我们可以使用以下几种方式来获取服务: 构造函数注入(Constructor Injection):在需要使用服务的类的构造函数中声明对应的服务类型参数,ASP.NET Core会自动将对应的服务实例注入进来。例如…...
指标体系:洞察变化的原因
一、指标概述 指标体系是指根据运营目标,整理出可以正确和准确反映业务运营特点的多个指标,并根据指标间的联系形成有机组合。 指标体系业务意义极强,所有指标体系都是为特定的业务经营目的而设计的。指标体系的设计应服从于这种目的&#x…...
Dell戴尔灵越Inspiron 7700 AIO一体机电脑原厂预装Windows10系统
链接:https://pan.baidu.com/s/1-slgR9t4Df_eko0Y6xaeyw?pwdmk0p 提取码:mk0p 灵越7700一体机原装出厂系统自带声卡驱动、无线网卡驱动、面部识别等所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、MyDell等预装程序 由于时间关系,…...
系统架构主题之九:软件设计模式及其应用
1 关于设计模式 设计模式是什么?个人理解,其是软件开发中对一些通用问题整理的解决方案,是经过经验总结所提炼的相对较为抽象的,有一定适应性和变化性的“套路”。这里借用了“套路”这个不太好听的词,但目的却是为了…...
Spring IoC注解式开发
2023.11.11 注解的存在主要是为了简化XML的配置。Spring6倡导全注解开发。 负责声明Bean的注解,常见的包括四个: ComponentControllerServiceRepository 通过源码可以发现,Controller、Service、Repository这三个注解都是Component注解的别名…...
智能一体化管网水位监测仪怎么样?
城市排水管网是城市正常运行的关键环节,这是地上和地下通道的连接点,一旦出现问题便会影响城市生命线建设的工程进展。在复杂的地下管道内想要了解水位数据,对于政府部门来讲是一个管理难题。如果可以采取智能产品在其中发挥作用,…...
个人网厅——销户
目录 需求文档 公积金销户类 controller层 service层 service层实现类 1.验证 (个人账户) 2.提交(添加) controller层 service层 service层实现类 3.分页查询 controller层 service层 service层实现类 4. 详情查询…...
通过创建自定义标签来扩展HTML
使用HTML时,例如,使用<b>标记显示粗体文本。 如果需要列表,则对每个列表项使用<ul>标记及其子标记<li> 。 标签由浏览器解释,并与CSS一起确定网页内容的显示方式以及部分内容的行为。 有时,仅使用一…...
Nacos热更新
Nacos热更新 相比其他注册中心,Nacos的优势之一在于热更新。 热更新,就是不需要重启服务,就能够更新配置。 nacos配置中心 首先,需要搭建 Nacos,详情见: https://www.cnblogs.com/expiator/p/17392549.h…...
CSS3 中 transition 和 animation 的属性分别有哪些
Transition 属性: transition 属性用于定义元素在状态改变时从一个样式转换到另一个样式的过渡效果。它包含以下几个属性: • transition-property:指定过渡效果应用的 CSS 属性名称,多个属性可以用逗号分隔。 •…...
【狂神说Java】Nginx详解
✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :狂神说Java 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远…...
【第六章】软件设计师 之 数据结构与算法基础
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 备考资料导航 软考好处:软考的…...
Git基本概念和使用方式
Git 是一种版本控制系统,用于管理文件版本的变化。以下是其基本概念和使用方式: 仓库(repository):Git 存储代码的地方,可以理解为一个项目的文件夹。提交(commit):Git …...
Flyback电路关键元件选型与设计实战(1)
1. 反激式电源保护元件的重要性 反激式开关电源(Flyback Converter)作为最常见的隔离型电源拓扑之一,其可靠性很大程度上取决于保护电路的设计。在实际项目中,我见过太多因为保护元件选型不当导致的炸机事故——从保险丝误熔断到压…...
医院综合能源数据采集监控管理系统方案
某医院主要能耗类型为电能和天然气,天然气主要供给燃气锅炉生产生活热水,用能设备包括供配电设施、暖通空调、生活热水机组、照明、医疗卫生设施等。随着医疗需求与医院规模不断扩大,能耗成本也不断提升,主要集中于夏季供冷和冬季…...
InnoDB存储结构全解析:行页区段与单表W行的关系既
一、背景与问题缘起 MySQL 5.6.51 版本下 2000 万行核心业务表开展新增字段操作,需求为新增BIGINT(19) NOT NULL DEFAULT 0 COMMENT 注释(因业务实际需要存储大数值关联字段)。 表的核心特性为Java 多线程密集读写,业务请求持续高…...
DDD难落地?就让AI干吧! - cleanddd-skills介绍蘸
AI训练存储选型的演进路线 第一阶段:单机直连时代 早期的深度学习数据集较小,模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低,吞吐量极高,也就是“数据离…...
Wonder3D终极指南:如何用一张图片快速创建专业3D模型
Wonder3D终极指南:如何用一张图片快速创建专业3D模型 【免费下载链接】Wonder3D Single Image to 3D using Cross-Domain Diffusion for 3D Generation 项目地址: https://gitcode.com/gh_mirrors/wo/Wonder3D 还在为复杂的3D建模软件而烦恼吗?Wo…...
告别FileZilla!用MobaXterm+Samba在泰山派RK3566上搭建Windows文件共享(保姆级教程)
告别FileZilla!用MobaXtermSamba在泰山派RK3566上搭建Windows文件共享(保姆级教程) 对于嵌入式开发者来说,频繁在Windows和开发板之间传输文件是家常便饭。传统的SFTP工具如FileZilla虽然功能强大,但每次都需要手动连接…...
阿里开源大模型Qwen2.5-7B实测:离线推理+结构化输出,提升数据处理效率
阿里开源大模型Qwen2.5-7B实测:离线推理结构化输出,提升数据处理效率 1. 引言:为什么选择Qwen2.5-7B进行离线推理 在当今数据驱动的业务环境中,企业面临着海量数据处理的需求。传统的大模型在线推理方式虽然灵活,但在…...
怎样轻松掌握量化交易:5个实用技巧快速上手Lean交易引擎
怎样轻松掌握量化交易:5个实用技巧快速上手Lean交易引擎 【免费下载链接】Lean Lean Algorithmic Trading Engine by QuantConnect (Python, C#) 项目地址: https://gitcode.com/GitHub_Trending/le/Lean 你是否曾梦想过构建自己的量化交易策略,但…...
GLM-OCR快速入门:从上传图片到获取文字,全程只需2分钟
GLM-OCR快速入门:从上传图片到获取文字,全程只需2分钟 1. 为什么选择GLM-OCR? 在日常工作和学习中,我们经常需要将图片中的文字提取出来。传统OCR工具要么识别率不高,要么操作复杂。GLM-OCR作为一款轻量级专业级多模…...
玻璃K值如何测试?
玻璃K值如何测试? 玻璃K值测试方法有测试+计算法、防护热板法/热流计法、标定热箱法、现场测试方法等,标准有JGJ/T 151、GB/T 2680、GB/T 22476、GB/T 10294、GB/T 8484、GB/T 36261等;经常有朋友咨询该用哪种方法、哪个标准?本期做个梳理,不妥之处敬请指正! 1、测试+计…...
