grep 使用整理 正则表达式 扩展正则表达式

名字

grep, egrep, fgerp

解释:

grep是一个最初用于Unix操作系统的命令行工具. 在给出文件列表或标准输入后, grep会对匹配一个或多个正则表达式的文本进行搜索, 并只输出匹配(或者不匹配)的行或文本.

用法:

grep [option] ‘PATTERN‘ file ...

--color=auto
          常用选项[option]:
               -v : 反向匹配, 显示不能被模式匹配到的行.
               -o : 只显示被模式匹配到的字符串, 而非整行
               -i : 不区分字母大小写
               -E : 支持扩展的正则表达式
               -A 数字 :(After) 显示被模式匹配到的行, 还显示下方的行
               -B 数字 :(Before) 显示被模式匹配到的行, 还显示上方的行
               -C 数字 :(Context) 显示被模式匹配到的行, 显示上下文的行

-n : 显示在文本中的行号

-R : 递归检索

示    例 解    释
egrep -i ‘test‘ path/to/file  在file中搜索不区分大小写的‘test‘字串, 并打印该行
egrep -o "[a-z0-9_][email protected][a-z0-9]+\.[a-z]+" /path/to/file 输出file文件中所有电子邮件地址,仅内容
egrep -R -n "test_function()" . 在当前目录下包括子目录子文件中所搜,输出内容所在文件行号及内容

扩展的正则表达式 ‘PATTERN‘:

egrep 使用扩展正则表达式来构建模式, 相当于grep -E

基本组成部分

正则表达式 描    述 示    例
. 匹配任意单个字符 hack. 匹配hackl和hackm,但是不能匹配hackll,hack
[] 匹配包含在[字符]之中的任意一个字符 coo[kl] 匹配cool或cook
[^] 匹配除[字符]之外的任意一个字符 9[^01] 匹配93,92 但是不能匹配91, 90
[-] 匹配[]中指定的范围中的任意一个字符 [0-3] 匹配1~3任意一个数字
^ 锚钉行的开头 ^diguo 匹配以diguo开头的行
$ 锚钉行的末尾 diguo$ 匹配以diguo结尾的行
\<char 锚钉单词的开头 \<char 匹配以char开头的单词
char\> 锚钉单词的结尾 char\> 匹配以char结尾的单词
* 匹配之前的项目0次或多次 co*l 等于 cl, col, cooooool 等
? 匹配之前的项目0次或1次 x?y, 等于 xy, x
+ 匹配之前的项目1次或多次 rollno-9+ 匹配rollno-99, rollno-9 等 但是不能匹配rollno-
() 创建一个用于匹配的字符串 ma(tri)?x 匹配max或者matrix
{m} 匹配之前的项目m次 [0-9]{3} 匹配任意一个三位数, [0-9][0-9][0-9]也可以
{m,} 匹配之前的项目至少m次 [0-9]{2,} 匹配一个2位数字或 更多位数字
{m,n} 匹配之前的项目至少m次,至多n次 [0-9]{2,3} 匹配一个2位数字,或3位数字
(m|n) 或者, 匹配|两边的任意一项 Oct (1st|2nd) 匹配 Oct 1st 或者 Oct 2nd
/ 转义字符, 将上面的特殊字符进行转义 a\.b匹配的是a.b, 但不能匹配ajb, 通过在.之前加上了\, 从而忽略了.的特殊意义
POSIX字符类 meta sequence [:xxxx:] 可以匹配到常用的字符范围
正则表达式 描    述 示    例
[:alnum:] 字母与数字字符 [[:alnum:]]+ 一个或多个数字或字母
[:alpha:] 字母字符(包括大写小写字母) [[:alpha:]]{4} 4个不区分大小写字母
[:blank:] 空格与制表符 [[:blank:]]* 0个或多个空格或制表符
[:digit:] 数字字符 [[:digit:]]? 0个或1个数字
[:lower:] 小写字母 [[:lower:]]{5,} 至少5个小写字母组成的字串
[:upper:] 大写字母 [[:upper:]]{0,5} 至多5个大写字母组成的字串
[:punct:] 标点符号 [[:punct:]] 一个标点符号
[:space:] 包括换行符,回车符,在内的所有空白字符 [[:space:]]* 0或多个任意空白字符

grep 使用整理 正则表达式 扩展正则表达式

时间: 2024-07-30 10:01:13

grep 使用整理 正则表达式 扩展正则表达式的相关文章

grep、正则表达式和扩展正则表达式的理解及运用

grep.正则表达式和扩展正则表达式的理解及运用 一 .grep的基本含义 我们可以从命令man grep中看到gerp命令的帮助文档,从中我们可以得出grep.egrep.fgrep都是文本搜索工具,根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的. grep有三种变形:   grep:标准grep命令,支持基本正则表达式   egrep:扩展grep命令,支持基本及扩展的正则表达式   fgrep:fastgrep,它把所有的字母都看作单词,即正则元字符不再特殊,而仅

grep文本查看工具及正则表达式

grep文本查看工具及正则表达式 grep:搜索及过滤文本工具: (根据用户所指定的"模式"搜索,过滤条件"对目标文件进行过滤性匹配):grep自带正则表达式引擎工具. 所谓模式:由正则表达式所得元字符及普通文本字符所编写出来的过滤条件"模式" grep:三种支持模式: grep:基本正则表达式 egrep:支持扩展正则表达式 fgrep :不支持正则表达式 三种支持模式因其可以(grep -E:切换扩展,egrep-G:切换基本,分别有以-F切换fgre

grep egrep及相关的正则表达式用法

一.什么是正则表达式 在编写处理字符串的时候,经常需要查询某些符合复杂规则的字符串,正则表达式就是描述这些规则的工具. 正则表达式有基本表达式和扩展正则表达式.扩展正则表达式,是基本正则表达式的补充.有些元字符,稍有不同. 二.正则表达式的组成部分: 由元字符及正常字符所书写,元字符不表达字符本意,而表达控制或通配的功能: 2.1基本正则表达式/扩展正则表达式元字符 字符匹配:[基本/扩展正则表达式元字符相同] 基本/元字符: 扩展/元字符: 说明: . . 匹配任意单个字符 [] [] 匹配指

grep, egrep及相应的正则表达式用法详解

grep, egrep及相应的正则表达式用法详解 一.grep/egrep Global search REgular expression and Print out的简写,是一种强大的文本搜索工具,它根据用户指定的文本模式(正则表达元字符以及正常字符组合而成)对目标文件进行逐行搜索,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep. linux使用GNU版本的grep.它功能更强,可以通过-E.-F命令行选项来使用egrep和fgrep的功能(fgrep不使用

基本正则表达式与扩展正则表达式

什么是正则表达式 通过符号.符号与字母数字的组合,来描述文本的特征.这些字符不代表字符原本的意义,而是表示控制和通配.这此符号和符号与字母的组合称为元字符. 为什么要用正则表达式,用在什么地方. 正则表达式可以匹配一段文本的特征,比如年月日,空白行,单词,一行文本,IP地址等.这样可以根据某些文本,然后查找到那些文件中包含了这些内容.还可以根据这些特征找到的文本进行复制,删除,替换,或者赋值给一个变量等.很多编程语言都支持正则表达式,它们可能支持的正则表达式引擎不同,表示方法略有不同.vi,gr

shell脚本编程之正则表达式(二)(扩展正则表达式、sed)

shell脚本编程之正则表达式(二) 一.前言 ? 本文主要是对扩展正则表达式的介绍,同时,继续按照上篇文章的风格介绍sed文本处理工具,sed作为shell编程中"三剑客"之一,在对文本处理上有巨大作用.关于正则概念以及grep命令结合正则使用的案例请参照:https://blog.51cto.com/14557673/2455588 二.扩展正则表达式 ? 扩展正则表达式主要是为了简化指令而产出的.例如,使用基础正则表达式查询文件中空白行与行首为#号之外的行(一般用于查看生效的配置

Linux常用命令—egrep及扩展正则表达式

扩展正则表达式 扩展正则表达式命令:egrep 不支持正则表达式但是快速:fgrep 字符匹配: .: []: [^]: 次数匹配: *: ?: +:匹配其前面的字符至少一次 {m}:精确匹配 {m,n}无需反斜线: 位置锚定: ^: $: \<或者\b: \>或者\b: 分组: ():分组 \1,\2,\3,...... 或者 |:或(a|b) 例: C|cat=C或者cat (C|c)at=Cat或者cat 懒惰限定符 *?         重复任意次,但尽可能少重复 +?        

grep及扩展正则表达式

正则表达式有两类,分为基本正则表达式和扩展正则表达式,是使用命令egrep来使用扩展正则表达式,它与grep很多功能相同,仅在元字符上实现了些扩展,在元字符的表示上与基本正则表达式略不同. 1. 命令格式: egrep [option] pattern file 2. 命令功能: 用于过滤/搜索的特定字符.可使用扩展正则表达式能多种命令配合使用,使用上十分灵活 . 3. 命令参数: egrep等同于grep -E选项 扩展正则表达式的元字符: 字符匹配: . #匹配单个非换行符的字符 如:'gr

2015年8月27日课程作业(文件权限管理及grep正则和扩展正则表达式)-JY1506402-19+liuhui880818

学习内容:文件权限管理及grep正则和扩展正则表达式 系统环境:CentOS 6.7/7 x86_64 一.作业(练习)内容: 1.总结本此课程中所涉及命令的使用方法及相关示例展示: 2.总结基本正则表达式及扩展正则表达式 3.显示/etc/passwd文件中以bash结尾的行 4.显示/etc/passwd文件中的两位数或三位数 5.显示`netstat -tan`命令结果中以'LISTEN'后跟0个.1个或者多个空白字符结尾的行 6.添加用户bash.testbash.basher以及nol