find和grep命令的简单使用

find和grep命令的简单使用

  • 一、find
    • 例子--不同条件查找
  • 二、grep
    • 正则表达式的简单说明
    • 例子--简单文本查找
    • 例子--结合管道进行查找

一、find

find 命令在指定的目录下查找对应的文件。

find [path] [expression]

● path 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
● expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。

常用可选参数:

  1. -name pattern:按文件名查找,支持使用通配符 * 和 ?。
  2. -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
  3. -size [±]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
  4. -mtime days:按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
  5. -user username:按文件所有者查找。
  6. -group groupname:按文件所属组查找。
  7. -amin n:查找在 n 分钟内被访问过的文件。
  8. -atime n:查找在 n*24 小时内被访问过的文件。
  9. -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
  10. -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
  11. -mmin n:查找在 n 分钟内被修改过的文件。
  12. -mtime n:查找在 n*24 小时内被修改过的文件。

例子–不同条件查找

  1. 查找 /home 目录下大于 1MB的文件
find /home -size +1M
  1. 查找 /home 目录下小于1MB的文件
find /home -size -1M
  1. 查找 /etc 目录下 在7天前修改过的文件(不包含文件目录)
find /etc -mtime +7 -type f 
  1. 查找 / 下及其字目录的所有文件后缀为 .c的文件
find / -name "*.c"
  1. 查找 /home及其子目录下文件类型为目录的文件
find /home -type d 
  1. 查找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
  1. grep 对于 匹配的字符串区分大小写
    在这里插入图片描述

  2. “.” 只匹配一次任意字符
    在这里插入图片描述

这里第二次匹配,因为没有添加严格限制选项,它依然匹配到了内容,加上严格限制以后得出了正确的结果。

  1. “+” 与 “?” 和 “”的区别
    “+” 代表匹配前面的子表达式一次或多次 ; “ ?”相当于占位符,匹配前面的子表达式零次或一次; “
    ”代表匹配前面的子表达式任意次。
    在这里插入图片描述

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

在这里插入图片描述

例子–结合管道进行查找

  1. 查找根目录下的所有s开头的文件及目录
ls / | gerp -E ^s

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/192913.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net core mvc 之 依赖注入

一、视图中使用依赖注入 1、core目录下添加 LogHelperService.cs 类 public class LogHelperService{public void Add(){}public string Read(){return "日志读取";}} 2、Startup.cs 文件中 注入依赖注入 3、Views目录中 _ViewImports.cshtml 添加引用 4、视图使用…

软文推广中媒体矩阵的优势在哪儿

咱们日常生活中是不是经常听到一句俗语,不要把鸡蛋放在同一个篮子里,其实在广告界这句话也同样适用,媒介矩阵是指企业在策划广告活动时,有目的、有计划的利用多种媒体进行广告传播,触达目标用户。今天媒介盒子就来和大…

Hbase 迁移小结:从实践中总结出的最佳迁移策略

在数据存储和处理领域,HBase作为一种分布式、可扩展的NoSQL数据库,被广泛应用于大规模数据的存储和分析。然而,随着业务需求的变化和技术发展的进步,有时候我们需要将现有的HBase数据迁移到其他环境或存储系统。HBase数据迁移是一…

缓存穿透、缓存击穿、缓存雪崩

目录 一、缓存的概念 1.为什么需要把用户的权限放入redis缓存 2.为什么减低了数据库的压力呢? 3.那么什么情况下用redis,什么情况下用mysql呢? 4.关于权限存入redis的逻辑? 二、使用缓存出现的三大情况 1.缓存穿透 1.1概念 1.2出现原…

2023/11/15JAVA学习

如何多开一个程序

企业设备巡检的痛点和解决方案

在设备巡检过程中,企业常面临多种痛点。首先,信息管理不足是一个关键问题,企业往往缺乏全面、准确的设备信息记录,这导致巡检工作缺乏针对性和效率。其次,巡检流程的非标准化使得巡检结果出现不一致,重要的…

RGB转Bayer,一个小数点引发的血案

前几天写了一个RGB数据转Bayer格式的函数,经过测试功能正常。后来把这个函数用到一个数据库构建中,结果数据库出来的结果一直是一张黑图,追查了好几个小时,总算把这只虫子找出来了,原来是一个整数后面的小数点作祟。 …

Docker 和 Kubernetes:技术相同和不同之处

Docker和Kubernetes是当今最流行的容器化技术解决方案。本文将探讨Docker和Kubernetes的技术相似之处和不同之处,以帮助读者更好地理解这两种技术。 Docker和Kubernetes:当今最流行的容器化技术解决方案 在当今的IT领域,Docker和Kubernetes无…

阿里云99元VS腾讯云88元,双11云服务器价格战,谁胜谁负?

在2023年的双十一优惠活动中,阿里云推出了一系列令人惊喜的优惠活动,其中包括99元一年的超值云服务器。本文将带您了解这些优惠活动的具体内容,以及与竞争对手腾讯云的价格对比,助您轻松选择最适合的云服务器。 99元一年服务器优…

23000 个恶意流量代理的 IPStorm 僵尸网络被拆除

美国司法部今天宣布,联邦调查局取缔了名为 IPStorm 的僵尸网络代理服务的网络和基础设施。 IPStorm 使网络犯罪分子能够通过世界各地的 Windows、Linux、Mac 和 Android 设备匿名运行恶意流量。 与此案相关的俄罗斯裔摩尔多瓦籍公民谢尔盖马基宁 (Sergei Makinin)…

传统工艺的数字时代转变:十八数藏的文化创新

在传统工艺和数字时代的交汇之处,十八数藏以其独特的文化创新走在了前列。这场数字时代的转变为传统工艺注入了新的生命和活力。 十八数藏的文化创新并非简单的数字应用,而是一场深刻的转变。通过数字技术,传统工艺被赋予了新的表达方式&…

【echarts】实现单线与多线滚轮联动、隐藏拖拽、关闭动画

单线滚轮联动 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>ECharts DataZoom</title><script src"https://cdn.jsdelivr.net/npm/echarts5.2.0/dist/echarts.min.js"></script> </hea…

一文图解爬虫_姊妹篇(spider)

—引导语 爬虫&#xff0c;没有一个时代比当前更重视它。一个好的爬虫似乎可以洞穿整个互联网&#xff0c;“来装满自己的胃”。 接上一篇&#xff1a;一文图解爬虫&#xff08;spider&#xff09; 博主已初步对爬虫的“五脏六腑”进行了解剖。虽然俗称“爬虫”&#xff0c;但窃…

【科研新手指南3】chatgpt辅助论文优化表达

chatgpt辅助论文优化表达 写在最前面最终版什么是好的论文整体上&#xff1a;逻辑/连贯性细节上一些具体的修改例子 一些建议&#xff0c;包括具体的提问范例1. 明确你的需求2. 提供上下文信息3. 明确问题类型4. 测试不同建议5. 请求详细解释综合提问范例&#xff1a; 常规技巧…

区域入侵AI算法如何应用在工地场景,保卫工地施工安全?

在工地、厂区等施工场所&#xff0c;安全保障是必不可少的&#xff0c;特别是在人工智能技术日益成熟的今天&#xff0c;如何利用旭帆科技AI智能视频中的区域入侵算法助力智慧工地、保障工地安全呢&#xff1f; 1、建筑物周界安全 TSINGSEE青犀区域入侵算法可以用于监控建筑物…

向量矩阵范数pytorch

向量矩阵范数pytorch 矩阵按照某个维度求和&#xff08;dim就是shape数组的下标&#xff09;1. torch1.1 Tensors一些常用函数 一些安装问题cd进不去不去目录PyTorch里面_表示重写内容 在默认情况下&#xff0c;PyTorch会累积梯度&#xff0c;我们需要清除之前的值 范数是向量或…

猫罐头哪种好吃又健康?精选5款营养美味的猫罐头推荐!

不知不觉开宠物店已经7年啦&#xff0c;店里的猫猫大大小小也算是尝试过很多品牌的猫罐头了。一开始选购猫罐头我也是踩了很多坑&#xff0c;各种踩雷。猫罐头的各种门道还是很难摸索的&#xff0c;新手养猫一不小心就会着道了。 作为一个从业宠物行业7年的人&#xff0c;我将给…

新一轮SocialFi浪潮来袭,Atem Network 再次打响注意力争夺战

火爆如潮的 Atem Network 再次从 CyberConnect 以及 Friend.tech 手中接过 SocialFi 赛道的热度大棒&#xff0c;同时这也表明&#xff0c;协议层仍将是 Web3 社交领域的主要叙事。 前不久&#xff0c;Web3社交协议Atem Network 在白皮书中披露了ATEM的代币经济模型&#xff0c…

学习c#的第十三天

目录 C# 多态性 静态多态性 函数重载 运算符重载 动态多态性 virtual 和 abstract 抽象方法和虚方法的区别 重载(overload)和重写(override) 隐藏方法 C# 多态性 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性意味着有多重形式。在面向对象编程范式中…

美国站群服务器IP如何设置分配?

​  在配置美国站群服务器时&#xff0c;IP的分配是一个重要的步骤。下面将介绍一些关于美国站群服务器IP分配的相关知识。 独享IP和虚拟IP 在租用美国站群服务器之前&#xff0c;我们需要了解提供的IP是独享的还是虚拟的。独享IP指每个网站都有独立的IP地址&#xff0c;而虚…