Linux中grep,egrep正则表达式基本用法

正则表达式

本人第一次写博文。由于最近刚好学到了正则表达式基本使用方法。整理了一下,以后用于回顾查找。

正则表达式基本说明:

基本来说,正则表达式式一种用来描述一定数量文本的模式,正则表达式的简写为REGEX 全称Regular Express。

首先正则表达式对于Linux运维工程师来说非常重要,这将伴随每一个运维工程师的职业生涯。说到正则表达式那么不得不说一下grep和egrep,grep全称是Globally search for a Regular Expression and print  out the line,表示全局搜索正则表达式并打印匹配结果的意思,好了现在让我们来一起揭开正则表达式的神秘面纱。

常用格式:

grep [option]  "pattern"  FILE

常用选项:

--color 表示匹配结果用高亮颜色显示

-i : 表示不区分大小写

. : (小数点)表示任意匹配任意单个字符

-v:表示除显示结果以外的所有内容(上面为不加-v效果)

-o :表示只显示匹配到的内容

*  :表示匹配之前的字符任意次

.* :  表示匹配任意长度的任意字符

-A n:n为数字,显示匹配到的内容及其后面的n行

示例:

-A 1,如下图:

-B n :n为数字,显示匹配到的内容及其前面的n行

示例:

-B 1,如下图:

-C n:n为数字,显示匹配到的内容及其前后n行

示例:

-C 1,如下图:

正则表达式元字符:

^ :表示锚定行首,格式:

‘^pattern’

$ :表示锚定行首,格式:

‘pattern$’

注意:特殊用法,匹配空白行为‘^$’

[ ]:表示匹配范围内的任意字符

[^] : 表示匹配范围外任意单个内容

常用范围表示格式:

[0-9] : 表示所有数字等同于 [[:digit:]]

[a-z] : 表示所有小写字母等同于 [[:lower:]]

[A-Z] : 表示所有大写字母等同于 [[:upper:]]

[a-zA-Z] : 表示所有字母等同于 [[:alpha:]]

[a-zA-Z0-9] : 表示字母和数字等同于 [[:alnum:]]

[[:graph:]] : 表示非空字符(非空格、控制字符)

[[:cntrl:]] : 表示控制字符

[[:punct:]] : 表示标点符号

[[:print:]] : 表示非空字符(包含空格)

[[:space:]] : 表示空白字符

\? :表示匹配之前的字符0次或1次

\{m,n\} :表示匹配之前的字符至少m次,最多n次

\{0,n\}:表示匹配之前的字符最多n次

\{m,\} :表示匹配之前的字符至少n次

\{m\} :表示匹配之前的字符至少m次

\< :表示单词词首锚定,等同于\b的用法一样

\> :表示单词词尾锚定,等同于\b的用法一样

如:\<word\> :表示锚定单词,等同于\bword\b 个人觉得\b较简单哈哈

分组与引用:

\(PATTERN\):表示将此PATTERN匹配到的字符当作一个不可侵犯的整体

\( PATTERN\).*\1 :表示引用前面分组的内容

egrep元字符:

+ :表示匹配前面的字符至少一次

| :管道符在这里表示|符号两边任意一边

( | ) :带括号的

?:等同于grep中的\?

( ):等同于grep中的\(\)

{ } :等同于grep中\{\}

案例:

  1. 显示test.txt中不以cb为结尾的行

2.找出test文件中的三位或四位数

3.找出/etc/grub2.cfg文件中,以至少一个空白字符开头,后面又跟了非空白字符的行; (最后显示内容较多,所以就截取部分)

4、找出"fdisk  -l“命令的结果中,包含以/dev/后跟sd或hd及一个小字母的行;

时间: 2024-08-02 11:02:48

Linux中grep,egrep正则表达式基本用法的相关文章

linux中grep和find的用法区别

linux中grep和find的用法区别 本文章详细的介绍了关于在linux中的grep和find两个命令的用法介绍,以及后面总结了它们两年用法区别哦. 先我们来介绍一下关于grep用法和一些小注意事项 使用过程中,使用最多的参数就是 -v ,但是用着并不爽. 比如说,我想查找一个单词“UserService”,但是像”*.svn” 这种文件就不用显示了,我该怎么做呢? 代码如下 复制代码 grep -r "UserService" ./ | grep -v "svn&quo

12个 Linux 中 grep 命令的超级用法实例

12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具.无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和RHEl/CentOS/Fedora系中的yum). $ sudo apt-get install grep #Debian/Ubuntu

Linux中 grep/egrep的命令收集

语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 -v :打印不符合要求的行 -A :后跟一个数字(有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行 -B :后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行 -C :后跟一个数字,例如 –C2 则表示打印符合要求的行以及上下各两行 例题: 包含 'halt' 的行以及这行下面的两行都打印出:

Linux中grep、egrep正则表达式的使用

正则表达式的由来 正则表达式,英文写法Regular Expression,在编程语言中常被简写为regex.regexp等.它是用来描述.匹配一系列符合某个句法规则字符串的单个字符串. 正则表达式通常被用来检索.替换那些符合某个模式(Pattern)的文本. 1950年代,UNIX之父Ken Thompson将正则表达式引入编辑器QED,然后是编辑器ed,最终引入到grep中.从此,正则表达式被广泛地应用到了各种UNIX或类UNIX系统的工具之中,例如perl. 近些年来,主流操作系统.主流开

Linux 命令grep, egrep,正则表达式大全

Linux grep 命令     Linux系统中grep,egrep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本. 2.egrep : 扩展式grep,其使用扩展式正规表达式(ERE)来匹配文本. 3.fgrep : 快速grep,这个版

[Linux 006]——grep和正则表达式

在使用系统时,我们或多或少的有一些搜索.查找的需求,必须要在文本中搜索某个关键字,或者过滤出文本中某些特定的行.grep 命令就为我们提供了这样一个功能,同时,grep 还可以使用正则表达式进行匹配,这是一个强大的功能,有必要好好掌握. 1.grep 初体验 grep PATTERN [OPTIONS] FILE:在文件中按照模式进行查找.FILE 是我们要查找的目标文件,如果不指定目标文件,grep 将会从标准输入中读取输入的内容,然后进行匹配.为了方便起见,本文的所有演示都在命令行中通过标准

Linux中Grep常用的15个例子【转】

转自:https://www.aliyun.com/jiaocheng/1390860.html?spm=5176.100033.1.9.6a1e41e8Pdjynm 摘要:Grep命令主要用于从文件中查找指定的字符串.首先建一个demo_file:$catdemo_fileTHISLINEISTHE1STUPPERCASELINEINTHISFILE.thislineisthe1stlowercaselineinthisfile.ThisLineHasAllItsFirstCharacterO

转:Linux中find命令-path -prune用法详解

在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能. 假如在当前目录下查找文件,且当前目录下有很多文件及目录(多层目录),包括dir0.dir1和dir2 ...等目录及dir00.dir01...dir10.dir11...等子目录. 1. 在当前目录下查找所有txt后缀文件 find ./ -name *.txt 2.在当前目录下的dir0目录及子目录下查找txt

linux基本命令grep egrep fgrep用法以及正则表达式

1.1.基本定义:  www.2cto.com grep(global search regular RE ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来. grep是很常见也很常用的命令,它的主要功能是进行字符串数据的比较,然后符合用户需求的字符串打印出来,但是主意,grep在数据中查找一个字符串时,是以"整行"为单位进行数据筛选的. egrep命令等同于grep

Linux中grep与egrep的知识

在Linux中,有条基本哲学"使用文本文件来保存配置信息".这就意味着在日常操作中需要大量的针对文本文件进行操作.在学习过程中我 们用来练习或者作为范例的文本文件通常比较短小,但在实际工作中可能情况就会大不相同,所以如何在熬长的内容中尽快找到我们想要的数据就是一个很重要的工 作.而grep就是来解决这个问题的. gerp是一个文本处理工具,也可以说是一个文本搜索工具.其可以根据我们的想法来设定相应的搜索方式来帮助我们来迅速查找到想要解数据. 用法: grep [OPTIONS] PAT