Linux grep

文章目录

  • 1. 基本用法
  • 2.字符转义
  • 3.二进制文件查找
  • 4.打印目标字段的附近行
  • 4. 多条件过滤
  • 5. 目录中过滤——用于在文件夹中筛选/排除指定后缀文件
  • 6.反向过滤——用于筛选
  • 7.只输出匹配内容——用于统计
  • 8. 筛选出包含字段的文件
  • 9.正则匹配
  • 10.管道和grep
  • 11.grep和wc/uniq/sort的合用

1. 基本用法

  • 使用man grep可以查看linux自带的帮助文档
gvim打开卡,cat可以在terminal中快速打开文本grep "word"  target.txt
//在 target.txt中找word单词grep "word"  target1.txt target2.txt
//在 target1、2.txt中找word单词grep "word" -r ./
//在当前目录下所有文件找word单词grep  -i "word" -r ./
//在当前目录下所有文件找word单词,忽略大小写cat  target.txt | grep -i "word" 
// |是管道命令,将上个指令的结果所谓下个指令的输入

2.字符转义

有三种:” ‘ \1.如何查双引号
grep \" 1.txt2.如何查\
grep \\\\ 1.txt
grep -F '\' 1.txt  
//-F表示以字符的方式读取
grep ’\\‘ 1.txt3.如何查单引号
grep \’ 1.txt

3.二进制文件查找

Linux二进制文件指的是可执行文件,即计算机可以直接执行的程序。二进制文件是按信息在内存中的格式表示的文件,通常不能直接查看,而必须使用相应的软件来查看。

grep -a "word" wordexe

4.打印目标字段的附近行

-A2
//打印之后的若干2行
-Bn
//打印之前的n行
-C2
//打印前后的2行

4. 多条件过滤

-e 表示或关系
借助管道符多个-e级联可以等价实现与

如下图,三个-e可以从1,txt中以或的关系筛选出行
在这里插入图片描述
更进一步地,利用管道操作,可以实现与的过滤。先过滤出包含hello的,用这个结果再进一步过滤包含zhouge的
在这里插入图片描述

5. 目录中过滤——用于在文件夹中筛选/排除指定后缀文件

grep "word" -r ./-r --include="*.v"
-r --include=*.{php,html}
过滤以,v
过滤以php/html为后缀的文本-r --exclude=.txt
除了以txt为后缀的其他都查-r --exclude-dir=.svn
除了svn文件夹内部的其他都查-r --exclude-from=filelist
将要排除的文件写入一个filelist中-r --exclude-from=filelist
将要排除的文件写入一个filelist中

6.反向过滤——用于筛选

默认是选出符合条件的行(筛选),反向操作就是选出不符合条件的行(-v,排除)
在杀进程的时候可以用到,如 ps -aux可以查到当前进程,有很多
在这里插入图片描述
使用管道符筛选出bash进程后,使用-v反向操作,再进一步排除掉由于grep指令产生的进程
在这里插入图片描述

另外如果知道一个grep打印会有很多,可以通过-c先看看会输出多少行
在这里插入图片描述

7.只输出匹配内容——用于统计

统计word出现次数:
在这里插入图片描述
-o结合数字匹配,筛选字段
在这里插入图片描述

8. 筛选出包含字段的文件

-l 筛选出包含字段的文件
-L 筛选出不包含字段的文件

9.正则匹配

^ : 锚定行的开始 如:'^grep’匹配所有以grep开头的行。
在这里插入图片描述

$ : 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
在这里插入图片描述

. : 匹配一个非换行符的字符 如:'gr.p’匹配gr后接一个任意字符,然后是p。
在这里插入图片描述

* : 匹配零个或多个先前字符 如:"hel*"匹配he后一个或多个l的行。记得加转移反斜线
在这里插入图片描述

上述两个一起用,即.*代表任意字符。'he.*

匹配一个指定范围内的字符,如"[Ggjrep’匹配Grep和grep,[0-9],[A-Za-z0-9]。

在这里插入图片描述
device[^A-Za-z0-9]:匹配一个不在指定范围内的字符,如:device[A-Za-z0-9]"[^A-FH-Zrep’匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行。
在这里插入图片描述

< : 锚定单词的开始,如:"<grep’匹配包含以grep开头的单词的行。
在这里插入图片描述

> : 锚定单词的结束,如’grep>'匹配包含以grep结尾的单词的行。nx{m}#重复字符x,m次,如:'o2V匹配包含2个o的行。
在这里插入图片描述

{}: 重复字符x,至少m次,如:'my5,匹配至少有5个o的行。x{m,} x{m,n} 重复字符x,至少m次,不多于n次
在这里插入图片描述\

\w: 匹配文字和数字字符,也就是[A-Za-z0-9]
在这里插入图片描述
\w的反置形式,是\W,匹配一个或多个非单词字符,如点号句号等。
在这里插入图片描述

单词锁定符,如:"\bis\b"只匹配对应单词。
在这里插入图片描述

10.管道和grep

在这里插入图片描述

11.grep和wc/uniq/sort的合用

wc用于统计单词数量或者行数量
-c:字母数
-w:单词数
-l:行数
在这里插入图片描述

  • grep和wc合用,统计出现特定word的数量和行数
    在这里插入图片描述
  • 和uniq、sort合用如下
  • sort可以排序,加-u选项可以去重
  • uniq只能邻近去重
    在这里插入图片描述

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

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

相关文章

B端系统优化,可不是换个颜色和图标,看看与大厂系统的差距。

Hi&#xff0c;我是贝格前端工场&#xff0c;优化升级各类管理系统的界面和体验&#xff0c;是我们核心业务之一&#xff0c;欢迎老铁们评论点赞互动&#xff0c;有需求可以私信我们 一、不要被流于表面的需求描述迷惑。 很多人找我们优化系统界面&#xff0c;对需求总是轻描淡…

小白跟做江科大51单片机之AD/DA

1.看原理图找接口 2.看时序图编写读取数据代码 XPT2046.c代码 #include <REGX52.H> //引脚定义 sbit XPY2046_DINP3^4; sbit XPY2046_CSP3^5; sbit XPY2046_DCLKP3^6; sbit XPY2046_DOUTP3^7; unsigned int XPT2046_ReadAD(unsigned char Command) { unsigned char …

sqllab 11-22

11.有回显&#xff0c;单引号 首先判断是字符型还是数字型 通过order by 来获取字段数 方便后续union联合 注意这里mime表明了内容要进行url编码&#xff0c;测试3报错&#xff0c;2正常&#xff0c;所以有2列。 还需要判断显示位&#xff0c;因为只有显示位的数据才能被爆出…

论文笔记:Efficient Bootstrapping for Confidential Transactions

EcoBoost: Efficient Bootstrapping for Confidential Transactions 设计了一种被称为EcoBoost的新方法&#xff0c;以提高支持机密交易的区块链的引导效率。具体来说&#xff0c;利用随机抽样来验证高概率保密交易的正确性。因此&#xff0c;与事务数量相比**&#xff0c;验证…

【FPGA】DDR3学习笔记(一)丨SDRAM原理详解

本篇文章包含的内容 一、DDR3简介1.1 DDR3 SDRAM概述1.2 SDRAM的基础结构 二、 SDRAM操作时序2.1 SDRAM操作指令2.2 模式寄存器&#xff08;LOAD MODE REGISTER&#xff09;2.3 SDRAM操作时序示例2.3.1 SDRAM初始化时序2.3.2 突发读时序2.3.3 随机读时序2.3.4 突发写时序2.3.5 …

Python学习笔记-Flask实现简单的抽奖程序(增加图片显示)

1.创建static文件夹,存放图片文件 2.hero列表数据更改为要抽奖的图片名 3.html中可以编写python语句,遍历hero列表内容渲染到表格中 4.在点击随机抽取后,可以获得名称,然后使用img标签,将获取的名称拼接到路径中 3.初始页面,访问127.0.0.1:5000/index 4.点击随机抽取后 5.py…

【深入理解设计模式】享元设计模式

享元设计模式 概述 享元设计模式&#xff08;Flyweight Design Pattern&#xff09;是一种用于性能优化的设计模式&#xff0c;它通过共享尽可能多的相似对象来减少对象的创建&#xff0c;从而降低内存使用和提高性能。享元模式的核心思想是将对象的共享部分提取出来&#xff…

实用干货:分享4个冷门但非常实用的HTML属性

大家好&#xff0c;我是大澈&#xff01; 本文约1100字&#xff0c;整篇阅读大约需要2分钟。 关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费加入问答群&#xff0c;一起交流技术难题与未来&#xff01; 现在关注公众号&#xff0c;免费送你 ”前后端入行大礼包…

TensorRT是什么,有什么作用,如何使用

TensorRT 是由 NVIDIA 提供的一个高性能深度学习推理&#xff08;inference&#xff09;引擎。它专为生产环境中的部署而设计&#xff0c;用于提高在 NVIDIA GPU 上运行的深度学习模型的推理速度和效率。以下是关于 TensorRT 的详细介绍&#xff1a; TensorRT 是 NVIDIA 推出的…

freeRTOS20240308

1.总结任务的调度算法&#xff0c;把实现代码再写一下 2.总结任务的状态以及是怎么样进行转换的

Java集合面试题(day 02)

&#x1f4d1;前言 本文主要是【JAVA】——Java集合面试题的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&am…

容器: string

引言: 为什么要有string类型, 就使用字符数组表示字符串不行吗? 原因: 使用字符数组描述文本信息, 无法确定开多大空间, 开多了浪费,开少了不够用使用string封装: 扩容机制:减少了空间的浪费各种接口:方便修改等操作 string的使用 容量相关 size:获取字符个数,不包含\0 (C语言…

从huggingface下载模型像本地加载但是UnicodeDecodeError

我自己是在Linux下出现了这个问题 原文&#xff1a;https://github.com/huggingface/transformers/issues/13674 The path for the AutoModel should be to a directory pointing to a pytorch_model.bin and to a config.json. Since you’re pointing to the .bin file dire…

无限debugger的几种处理方式

不少网站会在代码中加入‘debugger’&#xff0c;使你F12时一直卡在debugger&#xff0c;这种措施会让新手朋友束手无策。 js中创建debugger的方式有很多&#xff0c;基础的形式有&#xff1a; ①直接创建debugger debugger; ②通过eval创建debugger&#xff08;在虚拟机中…

安全防御-第七次

在FW5和FW6之间建立一条IPSEC通道保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 NAT&#xff1a; 安全策略&#xff1a; NAT: 安全策略&#xff1a; 修改服务器映射&#xff1a; 配置IPSEC&#xff1a;

物联网的商业模式洞察

大约在十年前&#xff08;2014年11月&#xff09;&#xff0c;全球知名管理思想家、哈佛商学院教授迈克尔波特与PTC前首席执行官吉姆赫普尔曼&#xff0c;在《哈佛商业评论》上联合撰写了一篇备受赞誉的文章&#xff0c;题为《智能互联产品如何改变竞争》。在这篇文章中&#x…

零基础,学6个月嵌入式,能找到工作吗?

今天看到一个老铁问&#xff0c;他报了个班&#xff0c;学6个月&#xff0c;学完能找到工作吗&#xff1f; 我看了下他的学习内容&#xff0c;包含C语言、数据结构、系统编程、网络编程、STM32、RTOS、物联网通讯协议、Linux内核驱动&#xff0c;这是大纲&#xff0c;细节的课程…

AIOPS:Zabbix结合讯飞星火做自动化告警+邮件通知并基于人工智能提供解决方案

目前Zabbix官方已经提供Zabbix+ChatGPT的解决方案 ChatGPT一周年,你充分利用了吗?Zabbix+ChatGPT,轻松化解告警! 但是由于需要魔法等其他因素,比较不稳定,遂决定使用国内模型,这里我挑选的是讯飞星火,基于我之前的文档,在此基础上通过Zabbix的告警脚本实现调用AI模型…

Sora的核心技术预测

在ChatGPT火爆全网的一年后&#xff0c;OpenAI公司又一次大显身手&#xff1a;推出了全新的文生视频大模型Sora。直接输入文字提示词&#xff0c;即可直接生成长达60秒的视频。 “现实真的要不存在了。” 马斯克直接大呼&#xff1a;人类彻底完蛋了&#xff01; 马斯克为什么…

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解&#xff0c;不生效&#xff08;因私有方法Spring扫描不到该方法&#xff0c;所以无法生成代理&#xff09;*/ Transactional private boolean test() …