Grep

查找某个文件中关键词&过滤文本文件中某个字符

格式:

grep -option(参数) word(字符) file(文件)

常用参数:

-a:以文本文件方式搜索(默认)

-c: 统计匹配内容 在文件中出现的次数(一共多少条符合)

-E:使用egrep扩展模式匹配(正则)

-n:输出结果所在文件中的行号

-v:反向选择,即显示不包含匹配文本的所有行

-w: 精准匹配

-o 打印匹配词

-i: 忽略大小写

-A : (after) 匹配之后行

-B:(before)匹配之前行

-C: (context)匹配掐和后的行

例子:输出ifconfig显示的ip地址所在行

image.png

通配符

*:0个或多个数字,字符

?: 匹配任意一个字符

#:表示注解

[ ] :内容范围匹配括号中的内容

{}: 命令块,多个命令匹配

正则

* 前一个字符匹配 0 次或多次;

. 匹配除了换行符以外任意一个字符;

.* 代表任意字符;

^ 匹配行首,即以某个字符开头;

$ 匹配行尾,即以某个字符结尾;

(..) 标记匹配字符;

[ ] 匹配中括号里的任意指定字符,但只匹配一个字符;

[^ ] 匹配除中括号以外的任意一个字符;

\ 转义符,取消特殊含义;

< 锚定单词的开始;

> 锚定单词的结束;

{n} 匹配字符出现 n 次;

{n,} 匹配字符出现大于等于 n 次;

{n,m} 匹配字符至少出现 n 次,最多出现 m 次;

\w 匹配文字和数字字符;

\W \w 的反置形式,匹配一个或多个非单词字符;

\b 单词锁定符;

\s 匹配任何空白字符;

\d 匹配一个数字字符,等价于[0-9]。

例1:找出3位数字和6位数字的内容([0-9]表示匹配1位数字,写3个是匹配3个,多位的话可用[0-9]{3}表示出现3次,都是一个意思。grep不识别{},需要加-E)

image.png

2

匹配ip地址(grep -E "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" tongpei.txt )[0-9]匹配单个数字,{1,3}出现1--3次,^开头,$结束

也可这么写(cat host.txt|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"--把表达式括起来,后面用通配{3}表示出现三次更简洁。

筛选IP,并排除255开头和结尾cat host.txt|grep -E "([0-9]{1,3}.){3}[0-9]{1,3}"|grep -v "^255"|grep -v "255$"

image.png

ifocnfig命令查看ip 过滤网卡IP地址排除127.0.0.1和255

ifconfig|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"|grep -v "255"|grep -v "127"

3.查找除了1的字符([^]表示匹配括号意外的任意字符)

image.png

4.查找带有ad 字符的(正则[ ]匹配的是括号中的一个字符,而不是整个完整的字符!a[dc]表示ad 或者ac)

image.png

5.补充:sort,uniq (排序,去重)

6.过滤出nginx配置文件中生效的行

grep -vE '^$|#' nginx.conf (去除空行和#号的)

四剑客查找字符_Shell四剑客Grep相关推荐

  1. 四剑客查找字符_linux 四剑客 find 、grep、sed、awk整理

    linux 四剑客 find .grep.sed.awk整理 find 主要是用于查找Linux 操作系统的某个文件.目录所在路径,查找出满足条件的文件或者目录的路径 find / -name *.r ...

  2. linux grep查找具体位置,Linux grep 查找字符所在文件(grep详解)

    查找字符所在文件 grep -ir "S_ROLE"  ./* -i 不区分大小写 -r 查找字符出处 -a   --text   #不要忽略二进制的数据. -A   --afte ...

  3. 四剑客查找字符_查找“三剑客”:LOOKUP函数、VLOOKUP函数与HLOOKUP函数

    LOOKUP的中文含义就是查找.LOOKUP函数可以在单行或者单列中查找,而VLOOKUP函数则是多列查找,HLOOKUP函数是多行查找. (一)LOOKUP函数--单行或单列中查找 1.语法 LOO ...

  4. mysql 小于多少行,MySQL查询来查找字符串少于四个字符的所有行?

    使用CHAR_LENGTH()并找到每个字符串中的字符数,然后获取少于四个字符的字符串.让我们首先创建一个表-mysql> create table DemoTable -> ( -> ...

  5. Swift解读专题四——字符串与字符

    2019独角兽企业重金招聘Python工程师标准>>> Swift解读专题四--字符串与字符 一.引言 Swift中提供了String类型与Characters类型来处理字符串和字符 ...

  6. d - 数据结构实验之查找四:二分查找_【数据结构】资料

    春天来了,关注我们吧!! 数据结构资料 1.栈和队列的共同特点是( ). A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 答案:A 解析:栈的操作只允许在栈的一端 ...

  7. d - 数据结构实验之查找四:二分查找_数据结构与算法笔记

    二分查找(上):如何用最省内存的方式实现快速查找功能? 二分查找(下):如何快速定位IP对应的省份地址? 变体一:查找第一个值等于给定值的元素 变体二:查找最后一个值等于给定值的元素 变体三:查找第一 ...

  8. 第四章 linux字符设备的编写一

    第四章 linux字符设备驱动一 文章目录 第四章 linux字符设备驱动一 前言 一.字符设备的编写步骤 二.字符设备应用 1.视频教学中的使用 2.个人观点 总结 附录 前言 字符设备是Linux ...

  9. 自学笔记——2.字符串的切片、遍历、查找字符

    一.字符串的切片 字符串的部分片段或者子集称为切片操作,所有字符串的切片操作是通过方括号([ ])实现的,语法:[n : m : s] 会返回一个子字符串,从索引值n到n-1之间,以s为步进,即:n之 ...

最新文章

  1. echarts饼图解析html标签,解决echarts中饼图标签重叠的问题
  2. Java设计模式之行为型:迭代器模式
  3. java 远程 shell脚本_Java 远程调用 shell脚本
  4. TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系
  5. Spring MVC:带有CNVR卷的REST应用程序。 3
  6. LeetCode 158. 用 Read4 读取 N 个字符 II
  7. mysql最左_Mysql最左原则
  8. 太棒了!PyTorch 1.7发布,支持CUDA 11、Windows分布式训练
  9. ModuleNotFoundError: No module named ‘pycocotools‘
  10. “hello world!”团队第三次会议
  11. 中缀表达式转后缀表达式
  12. 高校后勤管理系统java代码_java毕业设计_springboot框架的高校后勤信息管理系统...
  13. 【网络安全】大学信息安全技术 期末考试复习题
  14. 海迅2016破解版下载
  15. QQ空间密码破解技术
  16. deepface:最先进轻量级人脸识别和人脸属性分析框架讲解
  17. 面试产品经理 应该如何介绍自己的优势和劣势?
  18. 关于JAVA WEb如何连接Matlab
  19. 实时监测麦克风音量及检测MIC
  20. oracle数据库分页查询

热门文章

  1. 从“挖光缆”到“剪网线”|蚂蚁金服异地多活的微服务体系
  2. 云图说|一张图看懂一站式DevOps利器——华为云DevCloud
  3. 华为云云原生数据库GaussDB加速创新,企业核心数据上云信赖之选
  4. 实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
  5. 全新一代云服务器S6,重新定义性价比
  6. Java关键字synchronized的简单理解
  7. Python 基础知识学习笔记——NumPy
  8. linux 硬盘响,完美解决Ubuntu Linux关机异响[SATA硬盘]
  9. 3==num VS num==3
  10. JAVA 面向对象程序设计的继承举例