Linux入门(三)

Linux grep 命令

1: 作用

​ grep是一种文本搜索工具,它能使用特定的搜索模式,包括[正则表达式]搜索文本,并默认输出匹配行。

​ windows类似的命令是findstr.

2:语法

grep -options(参数) pattern(关键词) files(文本文件)

3:主要参数

可以通过grep --help来查看grep相关命令

用法: grep [选项]... 模式 [文件]...
在每个<文件>中查找给定<模式>。
例如:grep -i 'hello world' menu.h main.c
<模式>可以包括多个模式字符串,使用换行符进行分隔。模式选择与解释:-E, --extended-regexp     <模式> 是扩展正则表达式-F, --fixed-strings       <模式> 是字符串-G, --basic-regexp        <模式> 是基本正则表达式-P, --perl-regexp         <模式>Perl 正则表达式-e, --regexp=<模式>       用指定的<模式>字符串来进行匹配操作-f, --file=<文件>         从给定<文件>中取得<模式>-i, --ignore-case         在模式和数据中忽略大小写--no-ignore-case      不要忽略大小写(默认)-w, --word-regexp         强制<模式>仅完全匹配字词-x, --line-regexp         强制<模式>仅完全匹配整行-z, --null-data           数据行以一个 0 字节结束,而非换行符杂项:-s, --no-messages         不显示错误信息-v, --invert-match        选中不匹配的行-V, --version             显示版本信息并退出--help                显示此帮助并退出输出控制:-m, --max-count=<次数>    得到给定<次数>次匹配后停止-b, --byte-offset         输出的同时打印字节偏移-n, --line-number         输出的同时打印行号--line-buffered       每行输出后刷新输出缓冲区-H, --with-filename       为输出行打印文件名-h, --no-filename         输出时不显示文件名前缀--label=<标签>        将给定<标签>作为标准输入文件名前缀-o, --only-matching       只显示行中非空匹配部分-q, --quiet, --silent     不显示所有常规输出--binary-files=TYPE   设定二进制文件的 TYPE(类型);TYPE 可以是 'binary''text' 或 'without-match'-a, --text                等同于 --binary-files=text-I                        等同于 --binary-files=without-match-d, --directories=ACTION  读取目录的方式;ACTION 可以是`read', `recurse',或`skip'-D, --devices=ACTION      读取设备、先入先出队列、套接字的方式;ACTION 可以是`read'或`skip'-r, --recursive           等同于--directories=recurse-R, --dereference-recursive       同上,但遍历所有符号链接--include=GLOB        只查找匹配 GLOB(文件模式)的文件--exclude=GLOB        跳过匹配 GLOB 的文件--exclude-from=FILE   跳过所有匹配给定文件内容中任意模式的文件--exclude-dir=GLOB    跳过所有匹配 GLOB 的目录-L, --files-without-match  只打印没有匹配上的<文件>的名称-l, --files-with-matches  只打印有匹配的<文件>的名称-c, --count               只打印每个<文件>中的匹配行数目-T, --initial-tab         行首制表符对齐(如有必要)-Z, --null<文件>名最后打印空字符文件控制:-B, --before-context=NUM  打印文本及其前面NUM-A, --after-context=NUM   打印文本及其后面NUM-C, --context=NUM         打印NUM 行输出文本-NUM                      等同于 --context=NUM--color[=WHEN],--colour[=WHEN]       使用标记高亮匹配字串;WHEN 可以是“always”、“never”或“auto”-U, --binary              不要清除行尾的 CR 字符(MSDOS/Windows)若给定<文件>为“-”,则从读取标准输入。  若无<文件>参数,则除非处于
递归工作模式视为从“.”读取之外,一律视为从“-”读取。如果提供了少于
两个<文件>参数,则默认启用 -h 选项。如果有任意行(或者指定了 -L 选项
并有任意文件)被匹配,则退出状态为 0,否则为 1;如果有错误产生,且未指
定 -q 参数,则退出状态为 2

4:示例

创建test.txt文件,写入部分内容如下:

请将错误报告给:bug-grep@gnu.org。翻译问题请报告至 <i18n-zh@googlegroups.com>。
GNU grep 主页: <http://www.gnu.org/software/grep/>
GNU 软件的通用帮助: <https://www.gnu.org/gethelp/>
4.1过滤基础文件
ls |grep test

grep过滤当前目录下test文件夹/文件。

4.2 忽略大小写
grep -i  "gnu" test.txt

在这里插入图片描述

grep -i --no-ignore-case  "gnu" test.txt

在这里插入图片描述

4.3 显示行数以及命中行的文件
grep -n "gnu" test.txt

在这里插入图片描述

grep -n "错误" test.txt

在这里插入图片描述

4.4 选中不匹配的行
grep -v "错误" test.txt

在这里插入图片描述

4.5 得到给定<次数>次匹配后停止
grep -m 1  "gnu" test.txt

匹配到一次后停止:在这里插入图片描述

grep -m 10  "gnu" test.txt

在这里插入图片描述

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

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

相关文章

OpenCV图像处理、计算机视觉实战应用

OpenCV图像处理、计算机视觉实战应用 专栏简介一、基于差异模型模板匹配缺陷检测二、基于NCC多角度多目标匹配三、基于zxing多二维码识别四、基于tesseract OCR字符识别 专栏简介 基于OpenCV C分享一些图像处理、计算机视觉实战项目。不定期持续更新&#xff0c;干货满满&…

圆弧插补-逐点比较法

圆弧插补-逐点比较法 逐点比较法直线插补流程 逐点比较法直线插补流程 逐点比较法第I象限逆圆插补 在圆弧加工过程中&#xff0c;要描述刀具位置与被加工圆弧之间的相对位置关系&#xff0c;可用动点到圆心的距离大小来反映。 如下图所示&#xff0c;假设被加工零件的轮廓为第…

振南技术干货集:比萨斜塔要倒了,倾斜传感器快来!(6)

注解目录 1、倾斜传感器的那些基础干货 1.1 典型应用场景 &#xff08;危楼、边坡、古建筑都是对倾斜敏感的。&#xff09; 1.2 倾斜传感器的原理 1.2.1 滚珠式倾斜开关 1.2.2 加速度式倾斜传感器 1)直接输出倾角 2)加速度计算倾角 3)倾角精度的提高 &#xff08;如果…

数据结构与集合源码

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

idea 环境搭建及运行java后端源码

1、 idea 历史版本下载及安装 建议下载和我一样的版本&#xff0c;2020.3 https://www.jetbrains.com/idea/download/other.html&#xff0c;idea分为专业版本&#xff08;Ultimate&#xff09;和社区版本&#xff08;Community&#xff09;&#xff0c;前期可以下载专业版本…

windows 10 更新永久关闭

1 winR 输入&#xff1a;services.msc 编辑&#xff1a; 关闭&#xff1a;

Linux下安装部署redis(离线模式)

一、准备工作 1.下载redis的安装包 下载地址&#xff1a;Index of /releases/ 大家可以自行选择redis的版本&#xff0c;笔者选择的是最新的 2.上传到服务器 前提是我先在服务器上创建了一个目录redis7.2.3&#xff0c;我直接上传到这个目录下 二、安装redis 1.解压redis t…

电脑技巧:低配置的旧电脑也可以使用Win11系统了

目录 一、优点和适用场景 二、下载以及版本说明 三、安装说明 四、Tiny11 设置安装简体中文语言方法 Windows 11&#xff0c;作为微软最新一代操作系统&#xff0c;固然有其强大的功能和卓越的性能&#xff0c;但有时&#xff0c;更轻、更小、更快速的需求也在用户的考虑范…

wpf devexpress自定义编辑器

打开前一个例子 步骤1-自定义FirstName和LastName编辑器字段 如果运行程序&#xff0c;会通知编辑器是空。对于例子&#xff0c;这两个未命名编辑器在第一个LayoutItem(Name)。和最终用户有一个访客左右编辑器查阅到First Name和Last Name字段&#xff0c;分别。如果你看到Go…

LLM大模型权重量化实战

大型语言模型 (LLM) 以其广泛的计算要求而闻名。 通常&#xff0c;模型的大小是通过将参数数量&#xff08;大小&#xff09;乘以这些值的精度&#xff08;数据类型&#xff09;来计算的。 然而&#xff0c;为了节省内存&#xff0c;可以通过称为量化的过程使用较低精度的数据类…

vulnhub靶机Momentum

下载地址&#xff1a;https://download.vulnhub.com/momentum/Momentum.ova 主机发现 目标192.168.21.129 端口扫描 端口版本扫描 漏洞扫描 扫出来点目录简单看看 发现js里面有一点东西 这里面告诉了我们了web文件有id传值&#xff0c;而且有aes加密还有密钥 跟二没有啥区别&…

java每日一记 —— 谈谈反射

这应该是基础吧 1.先来说点前置知识&#xff1a;类的加载机制2.以自己的方式来谈反射的概念3.获取class的三种方式3.1.通过已知的类型获取class3.2.通过实例对象获取class3.3.通过Class.forName获取全路径指定类名的class 4.整理了一下API&#xff1a;坦言说&#x1faa1;累5.现…