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.mfbz.cn/a/132752.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3-组合式API下的父传子和子传父

组合式API下的父传子 基本思想: 1.父组件中给子组件绑定组件 2.子组件内部通过props选项接收 const propsdefineProps({属性名:类型}) 由于script上写了setup,所以无法直接配置props选项,所以需要借助于“编译器宏”函数接收传递的数据 …

GPT4 Turbo 究竟更新了什么

GPT4 Turbo 究竟更新了什么 记忆力和上下文理解能力增强 现在的GPT4可以理解128K的文本,相当于几百页的内容,你的GPT4再也不会忘记你之前说的什么了,换句话说之前他只能记住一篇文章,而现在可以记住一整本书的内容了 API降价 输入…

基于FANUC工业机器人的坐标系转换、多视角拼接与三维重建

0.简介 总体任务:机械臂末端安装三维相机,绕着工件进行拍摄,并在计算机中将每次拍摄的点云合并在同一个坐标系下,从而获得更加完整全面的点云。机械臂:FANAUC相机:梅卡曼德技术方案:使用相机外…

零代码+分布式微服务架构打造新一代一站式服务集成平台

目 录 01 项目背景 02 普元ESB产品介绍 03 新版本功能特性 04 应用案例‍‍‍‍ 05 展望与发展 01 项目背景 企业在实现数字化转型的过程中,随着信息化程度的提高,越来越多的企业开始采用微服务架构来构建自己的业务系统,各种系统之间的集成、数据共享…

k8s上对Pod的管理部分详解

目录 一.Pod结构介绍 1.user container 2.pause 二.Pod工作形式介绍 1.自主式pod 2.控制器管理下的pod 三.对Pod的操作介绍 1.run/apply -f/create -f运行pod 2.get查看pod信息 3.exec操作运行中的pod (1)进入运行中的pod (2&…

Linux RPM包安装、卸载和升级

我们以安装 apache 程序为例。因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。 RPM包默认安装路径 通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所…

阿里云付费用户破100万 用户规模亚洲最大

导读阿里巴巴集团公布2018财年第一季度财报,阿里云达到一个重要里程碑,云计算付费用户数量首次超过100万,成为亚洲首家达到百万级用户规模的云计算公司。同时,企业级市场被云计算人工智能等新技术全面激活,推动该季度营…

Stable Diffusion:最先进的文本生成图像模型

稳定扩散 生成式 AI 技术正在迅速发展,现在可以简单地根据文本输入生成文本和图像。Stable Diffusion 是一种文本到图像模型,使您能够创建逼真的应用程序。 扩散模型通过学习去除添加到真实图像中的噪声进行训练。这种降噪过程会产生逼真的图像。这些模…

【研究】Splunk 字段是否被加工过

1: 背景: 最近用户有个疑问,就是有些字段的输出有点问题,不确定是否被加工过。 2: 查找问题: index=abc sourcetype=def123 发现字段: city_shanghai 的输出可能有点问题。 3: 排查问题: 先去这个splunk search head cluster 的页面: server 的查找如下: 登入so1 s…

【Linux系统概念】

Linux系统概念 1 用户1.1 su和sudo1.1.1 /etc/sudoers 1.21.3 2345 1 用户 1.1 su和sudo 为什么会有su和sudo命令? 在实际工作当中需要在Linux不同用户之间进行切换。 root用户权限最高很多时候需要root用户才能执行一些关键命令。所以需要临时切换为root用户。工…

【C++】智能指针(一)

这篇文章介绍下C的智能指针,当然,可能没有你想的那么智能。 为什么需要智能指针1 void remodel(string& str) {string* ps new string(str);str *ps;return; }这里不讨论这个函数有没有意义,在这段代码中,很明显&#xff…

数据分析实战 | SVM算法——病例自动诊断分析

目录 一、数据分析及对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 八、模型应用及评价 一、数据分析及对象 CSV文件——“bc_data.csv” 数据集链接:https://download.csdn.net/download/m0_70452407/88…

Linux操作系统下对c语言程序的编译和执行过程gcc,编译链接过程

目录 1.gcc,g,gdb安装 2.gcc分布编译链接 3.编译链接过程 4.执行 4.1 如何执行 4.2 两步执行与一步执行 4.3 多文件的编译执行 1.gcc,g,gdb安装 命令行写gcc,g,gdb根据提示安装:sudo apt install gcc/g/gdb 2.gcc分布编译链接 (1)预编译: gcc -E main.c -o main.i (2)…

关于el-table+el-input+el-propover的封装

一、先放图片便于理解 需求: 1、el-input触发focus事件,弹出el-table(当然也可以为其添加搜索功能、分页) 2、el-table中的复选共能转化成单选共能 3、选择或取消的数据在el-input中动态显示 4、勾选数据后,因为分页过多,原先选好…

VEINS_CARLA代码详解

VEINS_CARLA代码详解 examples/veins_carlaprotosrc/veins_carla/appveins_carla/src/veins_carla/mobilityveins_carla/src/veins_carla/nodesveins_carla/src/veins_carla/proto 基于GPT-3.5 examples/veins_carla 从examples/veins_carla开始: CarlaExampleS…

P5906 【模板】回滚莫队不删除莫队

这一题,虽说在洛谷标的是模板题,但可能没有“历史研究”那一题更加模板。 这一题相对于回滚莫队的模板题,可能在回滚的处理上稍微复杂了一点。对于回滚莫队就不多解释了,可以看一下 回滚莫队模板题 这一篇博客,稍微简单…

PHP 服装销售管理系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp

一、源码特点 PHP 服装销售管理系统是一套完善的web设计系统mysql数据库 ,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php服装销售管理系统1 二、功能介绍 (1)员工管理:对员工信息…

第十八章 Swing 程序设计

目录 概述 Swing常用窗体 JFrame 窗体 JDialog 对话框 JOptionPane 小型对话框 1.自定义对话框 2.确认框 3.输入框 4.通知框 常用布局管理器 null绝对布局 FlowLayout 流布局管理器 BorderLayout 边界布局管理器 GridLayout 网络布局管理器 常用面板 JPa…

一文图解爬虫(spider)

—引导语 互联网(Internet)进化到今天,已然成为爬虫(Spider)编制的天下。从个体升级为组合、从组合联结为网络。因为有爬虫,我们可以更迅速地触达新鲜“网事”。 那么爬虫究竟如何工作的呢?允许…

lv11 嵌入式开发 ARM指令集上 5

1 导学 1.1 指令集 指令 能够指示处理器执行某种运算的命令称为指令(如加、减、乘 ...) 指令在内存中以机器码(二进制)的方式存在 每一条指令都对应一条汇编 程序是指令的有序集合 指令集 处理器能识别的指令…
最新文章