文件查找的需要:

grep:(GLOBAL Research) 根据模式(网)去搜索文本,而后将符合模式的文本行显示出来。

【部分匹配,显示时显示一行】

Pattern:模式。(文本字符以及正则表达式元字符组合而成的匹配条件)

例子:grep‘root’/etc/passwd

grep所支持的选项:

-i:忽略大小写

--color 显示颜色

alias grep=’grep --color’

-v: 反向查找,显示没有被模式匹配的行

-o:只显示被模式匹配出来的字符串,每个字符串显示为一行。

回顾一下 globbing(文件名通配)

* :任意长度任意字符

?:任意单个字符

[]:指定范围内的

[^]:指定范围之外的

如何写模式pattern?

正则表达式 Regular EXPression;REGEXP

元字符:

.:用点表示任意单个字符

grep‘r..t’/etc/passwd

[] :匹配指定范围内的任意单个字符

[^]:匹配执行范围之外的任意单个字符

字符集合:[:digit:]  [:space::]  [::upper::]  [:lower:]  [:alpha:]  [:alnum:]

匹配次数:

* :匹配其前面的字符任意次

a,b,ab,aab,acb,adb,amnb,amnbamnbamnb

a*b : a出现任意次,后面跟个b

a.*b: a开头,b结束,中间跟啥都行

.* :这才表示任意长度任意字符

(正则表达式是贪婪模式,尽可能长的匹配。)

\?:表示匹配它前面的字符0次或1次。

a\?b :a出现0次或1次,后面跟个b。

\{m,n\} :匹配其前的字符,至少m次,至多n次。

\{1,\}

\{1,3\}

grep‘a\{1,3\}b’test.txt

grep‘a.\{1,3\}b’test.txt

位置锚定:

^ :此字符后面的字符,必须出现在行首。

$ :锚定行尾,此字符前面的任意内容必须出现在行尾。

^$ : 这个表示空白行。

\

\>或b:锚定词尾,其后面的任意字符必须作为单词的尾部出现。

grep“root\>”test.txt

grep“\

grep“\”test.txt

grep“\broot\b”test.txt

分组:

\(\)

\(ab\)*:ab可以出现任意次。

实现分组的目的,是后面再次引用它。

\1:调用前面第一个小括号内容

\2

\3

例子:

He love his lover

She like her liker

He like his lover

要求前后一样,匹配

l..e

grep‘\(l..e\).*\1’test.txt

grep‘\([[:digit:]]\).*\1$’test.txt

grep -E 扩展正则表达式

-A 显示匹配行的下面的行显示

-B 显示匹配行的上面的行显示

-C 显示匹配行的上下的行显示

grep --color -B 2‘^core id’/proc/cpuinfo

扩展正则表达式

字符匹配

.

[]

[^]

次数匹配

*

?:这里不用加反斜线

+ : (这个基本正则表达式没有的)匹配其前面的字符至少一次。

+? 《===》*

(m,n): 扩展正则表达式不用使用转义字符

位置锚定:

^

$

\>

\<

分组:

( ) 分组

\1,\2,\3

还支持或者

|:or

C|cat  :表示C或者cat,表示整个左边,整个右边。

grep  --color‘(C|c)at’test.txt

grep --color -E‘^[[:space:]]+’/boot/grub/grub.conf

grep -E  =====> egrep

例子:

匹配0-255的数字。

egrep --color‘\’test.txt

例子:找IP地址

匹配(.)本身

\.

egrep‘(\\.){3}\’test.txt

IP 地址

A类1-127

B类128-191

C类192-223

D类

E类

匹配IP地址

分析:\(\.\){2}\.\

linux模式匹配运算符,linux之正则表达式相关推荐

  1. linux命令行 正则,在Linux命令行中使用正则表达式

    上一节我们介绍过grep命令在搜索文本信息时的基本用法,其实,grep命令还可以配合正则表达式执行更加复杂的搜索操作. 本节我们将对如何在Linux命令行中使用正则表达式进行介绍. 所谓正则表达式,就 ...

  2. Linux之旅 9:正则表达式与文件格式化

    Linux之旅 9:正则表达式与文件格式化 (图片来自常用正则表达式) 什么是正则表达式 正则表达式(简称为正则)可以看做是一种微型标记语言,通过定义一系列符号来灵活地设定一种匹配模式,对目标字符串进 ...

  3. 模式匹配运算符–Shell

    转载:http://www.firefoxbug.net/?p=722 Var=/home/firefox/MyProgram/fire.login.name ${Variable#pattern}: ...

  4. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter1-Chapter16 )

    一.初识 Linux shell Linux 系统可划分为以下 4 部分. Linux 内核 GNU 工具 图形化桌面环境 应用软件 内核主要负责以下 4 种功能. 系统内存管理 内核通过硬盘上称为交 ...

  5. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter17-ChapterB )

    十七.创建函数 bash shell 提供了用户自定义函数功能,可以将 shell 脚本代码放入函数中封装起来. 函数是一个脚本代码块,你可以为其命名并在脚本中的任何位置重用它.每当需要在脚本中使用该 ...

  6. THREE DAY | 网络安全之Linux(包含Linux常用命令,镜像下载,docker命令等内容)超详细!!!

    THREE DAY | 网络安全之Linux 一.Linux介绍 1.Linux系统简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多 ...

  7. 史上最牛的Linux视频教程—兄弟连Linux笔记

    最近在看兄弟连2014年录制的Linux教学视频,沈超和李明这两个活宝讲得确实是精彩,顺着教学视频讲解的逻辑顺序做了一些笔记,教学视频链接https://www.bilibili.com/video/ ...

  8. linux日期日增,Linux日期

    Linux date命令 Linux date命令用于显示日期,时间,时区等.它还用于设置Linux系统的日期和时间.通常,它用于以不同的格式显示日期并计算一段时间内的日期. 句法: 选件 以下是da ...

  9. linux 同步方法剖析,Linux 同步方法剖析

    级别: 中级 M. Tim Jones (), 顾问工程师, Emulex 2007 年 11 月 19 日在 学习 Linux® 的过程中,您也许接触过并发(concurrency).临界段(cri ...

最新文章

  1. XAML实时显示更新插件LiveXAML
  2. python 字典循环_Python字典遍历操作实例小结
  3. python访问数据库日志文件_python利用inotify实现把nginx日志实时写入数据库
  4. MX130+python3.7.6+CUDA 10.0+CUDNN 7.4.2+TensorFlow-gpu安装
  5. 这十个好习惯助你摆脱消极的态度
  6. python求导函数的值_python怎么实现函数求导
  7. Numpy实现酒鬼漫步问题【以及randint()、where()、cumsum()、argmax()的用法详解】
  8. 入门级控件 c# 1615014955
  9. 数据库中字段随机添加汉字
  10. Chart控件X轴显示不全的解决方法
  11. 推荐系统技术演进趋势:排序篇
  12. 基于SpringBoot的后台管理系统(异常、注解、node、page)(二)
  13. linux 格式化 lvm2,LVM2
  14. Eclipse创建并运行Java程序输出Hello World
  15. 手机微信html代码,html5 css3手机微信ui界面代码
  16. 【测试开发】软件测试——测试用例设计测试分类详解
  17. 管网平差c语言编程,哈工大给水管网平差软件
  18. origin图上显示数据标签_Origin中如何将曲线上的数据显示出来?
  19. WebRTC桌面共享手动停止
  20. 【Pygame小游戏】真香~这款百万销量万人追捧大富翁游戏终于出现了~(赶紧来玩儿)

热门文章

  1. 论文浅尝 | 基于RNN与相似矩阵CNN的知识库问答
  2. 论文浅尝 | 弱监督关系抽取的深度残差学习方法
  3. java.lang.NoClassDefFoundError: * : Landroid/support/v7/gridlayout/R$styleable 异常终极解决办法
  4. (摘要)新基建风口下,今年工业互联网平台将呈现十大新特征
  5. DeepMind最新研究:如何将「大语言模型」 训练到最优?
  6. 战斗机嵌入式训练系统中的智能虚拟陪练
  7. Linux磁盘及文件系统(二)Linux下磁盘命名和分区
  8. table数据表 边框特效
  9. javaweb简要介绍,虚拟路径,虚拟主机
  10. Leetcode--42.接雨水