grep egrep 通配符

正则表达式
以grep为例:
使用格式:grep[选项]匹配模式 file对象
选项说明
    --color=auto:对匹配到的文本着色,高亮显示
    -i:忽略字符大小写直接加后面
    -o:仅显示匹配到的字符串本身
    -v:方向匹配,匹配到的文本不显示,不能匹配到行显示
    -E:表示支持使用扩展的正则表达式,=egrep
    -q:静默模式,不输出任何信息到标准输出
    -A(after):显示匹配到的行和其后面的行,给一数字
        grep -A 1 root /etc/passwd
    -B(before):显示匹配到行和其前面的行,给一数字
        grep -B 1 root /etc/passwd
    -C(center):显示匹配到其前后的行,给一数字
        grep -C 1 root /etc/passwd
匹配次数
用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数,默认为贪婪模式*:
表示匹配其前面的字符任意次,0,1,多次例如:grep “x*y”
.*:匹配任意长度的任意字符
\?:匹配其前面的字符0次或一次,即其前面的字符是可有可无的
\+:匹配其前面的字符一次或多次,即其前面的字符要出现至少一次
\{m\}:精确匹配到其前面字符的m次
\{m,n\}:匹配其前面的字符至少m次,至多n次
\{0,n\}:至多n次
\{m,\}:至少m次
位置锚定
^:行首锚定,用于模式的最左边
$:行首锚定,用于模式的最右边
^pattern$:用于pattern来匹配整行
^$:空白行
^[[:space:]]$:空行或空白字符的行
单词:非特殊字符组成的连续字符都称为单词
\<或\b:词首锚定,用于单词模式的左侧
\>或\b:词尾锚定,用于单词模式的右侧
\<pattern\>:匹配完整单词

前言:egrep等效于grep -E ,基于扩展的正则表达式做模式匹配,那什么是扩展的正则表达式呢?

支持扩展的正则表达式实现类是于grep文本过滤功能:grep -E -o -i -v -q -A -B -C
-G;表示支持基本正则表达式
扩展正则表达式的元字符

1:字符匹配
.:匹配任意单个字符
[]:匹配制定范围外的任意单个字符
[^ ]:匹配指定范围外的任意单个字符
[[:digit:]] [[:lower:]] [[:upper:]]
[[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]]

2:次数匹配
*:任意次,0,1或多次
?:0次或1次,其前面的字符是可有可无的
+:其前面的字符至少一次
{m}:其前的字符m次
{m,n}:至少m次,至多n次
{0,n}:
{m,}:

3:位置锚定
^:行首锚定
$:行尾锚定
\<或\b:词首锚定,用于单词模式的左侧
\>或\b:词尾锚定,用于单词模式的右侧

4:分组及引用(分组和引用,也就搞定了Prthon的正则表达式)
():分组,括号内的模式匹配到的字符会被记录到正则表达式引擎的内部变量中
后向引用:/1,/2
[[email protected] ~]# cat feng
wo love wo
ni love ni
ta love ta
[[email protected] ~]# egrep "(w.).*\1" feng
wo love wo

a|b:表示a或者b--->grep“a|b“ feng
c|Cat:c或者cat
 (c|C)at:cat或者Cat
通配符

  • *:匹配任意长度的任意字符,可以一个都没有
  • ?:匹配任意单个字符,必须有一个
  • [  ]:匹配指定范围内的单个字符
  • [^]:匹配指定范围外的任意当个字符
    • [^[0-9]]或[^0-9]:表示匹配数字外的任意字符
    • [^[:upper:]]:表示匹配大写字母外的任意字符
    • pa[0-9]: pa后面匹配一个数字
    • [a-z], [A-Z] [0-9] [a-z0-9] [abdxy]
    • pa[0-9]: pa后面匹配一个数字
    • pa[0-9][0-9]: pa后面匹配两个数字
    • [[:upper:]]:表示所有大写字母
    • [[:lower:]]:表示所有小写字母
    • [[:alpha:]]:表示所有字母
    • [[:digit:]]:表示所有数字
    • [[:alnum:]]:表示所有的字母和数字
    • [[:space:]]:表示所有的空白字符
    • [[:punct:]]:表示所有的标点符号
时间: 2024-10-23 12:26:08

grep egrep 通配符的相关文章

通配符和正则表达式-grep,egrep,fgrep

通配符和正则表达式-grep,egrep,fgrep 通配符和正则表达式,通配符用于文件名匹配,命令支持ls,cp,rm等;正则为通用匹配,命令支持grep,awk,sed,vi,find等.文本过滤工具grep,egrep,fgrep 通配符 *  匹配零个或多个任意字符 ?  匹配单个任意字符 [] 匹配指定范围内的一个字符,[]括号中的 字符间隔符 可以省略,如,\=:等等.举例[1:2=3,5\7] = [12357],也推荐使用这种省略写法作为标准 ^  取反,表示非.注意:非数字即包

五. 正则表达式grep, egrep, fgrep

grep,egrep,fgrep : print lines matching a pattern 1.grep : grep [options] PATTERN FILE... PATTERN由元字符和和普通字符组成 -i : --ignore-case , 忽略大小写 -o : --only-matching, 只显示所匹配到的字符,二不是整行 -n : --line-number, 输出所匹配行的行号 -v : --invert-match, 显示除匹配行外的所有行 -E : --exte

grep egrep fgrep的使用

grep命令 grep [options] PATTERN [FILE...] 通过搜索于PATTERN匹配的字段,在FILE文件中查找到匹配的字段并显示整个行. options -A num:文本后几行 # grep -A 3 "root" /etc/passwd            root:x:0:0:root:/root:/bin/bash        bin:x:1:1:bin:/bin:/sbin/nologin        daemon:x:2:2:daemon:/

linux常用命令-grep,egrep,regexp

grep: 根据模式搜索文本,并将符合模式的文本行显示出来.Pattern: 文本字符和正则表达式的元字符组合而成匹配条件 grep [options] PATTERN [FILE...] -i(忽略大小写) [[email protected] ~]# grep root /etc/passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin[[email protected] ~]# --c

grep, egrep, fgrep笔记

grep, egrep, fgrep grep: 根据模式搜索文本,并将符合模式的文本行显示出来.Pattern: 文本字符和正则表达式的元字符组合而成匹配条件 grep [options] PATTERN [FILE...]    -i:不区分大小写    --color    -v: 显示没有被模式匹配到的行    -o:只显示被模式匹配到的字符串 *: 任意长度的任意字符?: 任意单个字符[]:[^]: 正则表达式:REGular EXPression, REGEXP元字符:.: 匹配任意

[CentOS 7系列]grep/egrep

在开发脚本的时候,我们总会发现需要调用的某些字符串时有规律的.通过筛选.提取和调用这些有规律的字符串,完善脚本的处理流程.正则就是这么一串有规律的字符串.在各种编程语言中都有正则,原理基本一致.在linux学习中,掌握好正则对于编写shell脚本能打下深厚根基. grep/egrep是shell脚本中常用的筛选命令之一.通过该命令配合正则表达式能够有效快速的筛选出需要的文本内容. ▎grep命令的基本用法:grep [-cinvrABC] 'word' filename 参  数 作  用 -c

Linux文本处理之 grep egrep

linux下文本处理三剑客 第一剑 grep, egrep, fgrep:文本搜索工具:基于"pattern"对给定文本进行搜索操作: 第二剑 sed:Stream EDitor,流编辑器,行编辑工具:文本编辑工具: 第三剑 awk:GNU awk,文本格式化工具:文本报告生成器: 今天主要讲解第一剑: grep家族: grep:  支持使用基本正则表达式: egrep:支持使用扩展正则表达式: grep: 不支持使用正则表达式: grep命令: 作用:文本搜索工具,根据用户指定的&q

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不使用

grep,egrep 及正则表达式

Linux中一切皆文件:文本文件,对文本文件的搜索就非常的关键和常用. Linux文本搜索工具:grep ,egrep,fgrep,文本搜索指文本文件中内容的搜索. 文件名的搜索是linux中bash的特性,globbing,文件名通配,有点windows中的搜索相似,但功能跟强大.一般配合 ls 命令使用.可参考视频:bash基础特性(01) globbing:中的元字符: *:用来通配任意长度任意字符,?:用来匹配单个字符,[]:用于比配指定范围内的字符,[^]:用于取反范围内的字符. 总结