Shell通配符和正则表达式

这篇具有很好参考价值的文章主要介绍了Shell通配符和正则表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

​​​​​​​grep

通配符

正则表达式


grep

grep家族有三大成员分别为:

        grep:支持使用基本正则表达式。

        egrep:支持使用扩展正则表达式。

        fgrep:不支持使用正则表达式,即所有的正则表达式中的元字符都将作为一般字符,仅仅

拥有其字面意义,不再拥有特殊意义

 

grep命令的基本语法如下:grep [options] pattern [file…]

[options]选项 作用

-n 

显示行号

-o 

只显示匹配的内容

-q

静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

-l

如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc

-A 

如果匹配成功,则将匹配行及其后n行一起打印出来

-B 

如果匹配成功,则将匹配行及其前n行一起打印出来

-C

如果匹配成功,则将匹配行及其前后n行一起打印出来

--color

高亮颜色显示匹配到的字符串

-c 

如果匹配成功,则将匹配到的行数打印出来

-E 

等于egrep,扩展

-i 

忽略大小写

-v 

取反,不匹配

-w

匹配单词

-r

递归搜索,不仅搜索当前目录,还要搜索其各级子目录

-s

不显示关于不存在或者无法读取文件的错误信息

通配符

通配符 作用
* 匹配任意长度字符,可以是0个
? 匹配任意单个字符,必须是1个
[ ] 匹配指定字符范围内的任意单个字符
[a-z] 表示a-z,A-Y,但不包含Z
[ A-Z ] 表示A,b,B.....z,Z,不包含a
[ a-Z ] 包含所有大小写字母
[ :upper: ] 所有大写字母
[ :lower: ] 所有小写字母
[ :alpha: ] 所有字母
[ :digit: ] 所有数字
[ :blank: ] 水平空白字符
[ :punct: ] 标点符号
[ ^ ] 匹配指定字符范围外的任意单个字符

正则表达式

^

在每行的开始进行匹配

$

在每行的末尾进行匹配

.

对任何单个字符进行匹配

*

对前一项进行0次或多次重复匹配

[str]

对str中的任何单个字符进行匹配

[^str]

对任何不在str中的单个字符进行匹配

[a-b]

对a到b之间的任何字符进行匹配

\

忽略后面一个字符的特殊含义

+

对前一项进行1次或多次重复匹配

对前一项进行0次或1次重复匹配

{j}

对前一项进行j次重复匹配

{j,}

对前一项进行j次或更多次重复匹配

{,k}

对前一项最多进行k次重复匹配

(s|t)

匹配s项或t项中的一项

[[:alnum:]]

匹配任意一个字母或者数字,等价于[A-Za-z0-9]

[[:alpha:]]

匹配任意一个字母,等价于[A-Za-z]

[[:digit:]]

匹配任意一个数字,等价于0-9

[[:lower:]]

匹配任意一个小写字母,等价于a-z

[[:upper:]]

匹配任意一个大写字母,等价于A-Z

[[:space:]]

匹配任意一个空白符,包括空格、制表符、换行符以及分页符

[[:blank:]]

匹配空格和制表符

[[:graph:]]

匹配任意一个看得见的可打印字符,不包括空白字符

[[:print:]]

匹配任何一个可以打印的字符,包括空白字符,但是不包括控制字符、字符串结束符‘\0’、EOF文件结束符(-1)

 [[:cntrl:]]

匹配任何一个控制字符,即ASCII字符集中的前32个字符。例如换行符、 制表符等

[[:punct:]]

匹配任何一个标点符号,例如“[]”、“{}”或者“,”等

[[:xdigit:]]

匹配十六进制数字,即0-9、a-f以及A-F

几个简单的使用例

^word 表示搜索以word开头的内容

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 word$ 表示搜索以word结尾的内容

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 . 代表且只能代表一个任意字符

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 * 重复0个或多个前面的字符

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 

[] 匹配字符集合内任意一个字符,如[a-z]

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 

[^abc]在中括号里表示非,不包含a或b或c

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 

找出"fdisk -l“命令的结果中,取出硬盘路径

fdisk -l | grep Disk | grep /dev/nv | cut -d: -f 1 | cut -d " " -f2

Shell通配符和正则表达式,Shell,linux,正则表达式,shell

 

 

找出ifconfig命令输出中的所有IP地址

ifconfig | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9] {1,3}\.[0-9]{1,3}"

Shell通配符和正则表达式,Shell,linux,正则表达式,shell文章来源地址https://www.toymoban.com/news/detail-578977.html

到了这里,关于Shell通配符和正则表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • SHELL 基础 入门(三) Bash 快捷键 命令执行顺序,详解通配符

    SHELL 基础 入门(三) Bash 快捷键 命令执行顺序,详解通配符

    目录 Bash 常用快捷键  输入输出重定向  用法  输出重定向  命令执行顺序  ;  分号 ||  通配符  传统通配符  ? \\\'  *  \\\'  [  ]   [ - ]   [ ^ ] 常用字符  强调 : {  }   生成序列  Ctrl + A    把光标移动到命令行开头 Ctrl + E    把光标移动到命令行尾  Ctrl + D    退出当前

    2024年02月11日
    浏览(26)
  • shell 正则表达式详解

    shell 正则表达式详解

    目录 正则表达式 一,什么是正则表达式 二,为什么使用正则表达式 三,如何使用正则表达式 示例: 四,基本正则表达式 基本正则表达式示例: 正则表达式字符集示例: 五,扩展正则表达式 扩展正则表达式示例: 扩展:        正则表达式是通过一些特殊字符的排列,

    2024年01月17日
    浏览(10)
  • shell脚本正则表达式

    shell脚本正则表达式

    声明: 以下内容为个人笔记,内容不完全正确,请谨慎参考。 含义: 正则表达式使用的每个单独字符串来描述、匹配一些列符合语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在Linux中,grep,sed,awk等文本处理工具都支

    2024年04月22日
    浏览(11)
  • 【shell编程入门】正则表达式

    特殊字符 描述 [] 方括号表达式,表示匹配的字符集合,例如  [0-9] 、 [abcde] () 标记子表达式起止位置 * 匹配前面的子表达式零或多次 + 匹配前面的子表达式一或多次 ? 匹配前面的子表达式零或一次 转义字符,除了常用转义外,还有: b  匹配单词边界; B  匹配非单词边

    2024年01月23日
    浏览(13)
  • Shell编程之正则表达式

    Linux中的正则表达式(regular expression)和通配符(wildcard)都是用于匹配字符串的工具,但它们之间存在一些区别和应用场景的不同。 正则表达式是描述一种字符串匹配的模式,通过特殊的字符和语法,可以检查一个字符串是否匹配某种模式,匹配成功后可以进行子串替换、取出符

    2024年02月01日
    浏览(9)
  • Linux Shell :正则表达式

    Linux Shell :正则表达式

    先来看一句 Shell 代码: dpkg --list : dpkg 是 Debian 系列 Linux 发行版(如 Ubuntu)的包管理工具。 --list 选项用于列出所有已安装的软件包。 | :这是一个管道符号,用于将前一个命令的输出作为后一个命令的输入。在这里, dpkg --list 的输出被直接传递给 grep 命令。 grep -E -o \\\'cu

    2024年02月08日
    浏览(7)
  • Shell编程基础(十三)正则表达式

    格式:^ 表达式 $ 在不同的场景下,定义是一样,但使用要按照具体的命令去调用,中间的表达式都是通用的 普通元字符 所谓元数据,就是描述数据的数据,在这里就是描述正则的数据 ^ 表示正则从字符串 整行 起始位置匹配 ^abc 匹配 以abc开始的字符串 $ 表示正则一直匹配到

    2024年02月14日
    浏览(8)
  • Linux:shell脚本 正则表达式与AWK

    Linux:shell脚本 正则表达式与AWK

    目录   一、正则表达式 1.2元字符  1.3表示次数 1.4位置锚定 1.5分组或其他 1.6扩展正则表达式 1.7grep 二、AWK awk -F ​编辑三、sed 1.sed简介 2.sed工作流程 3.sed命令格式 3.1打印全部内容  3.2 查看文件,打印全部内容  3.3打印指定行内容 3.4支持正则表达式,打印范围内容  3.5#,/关

    2024年02月12日
    浏览(9)
  • Shell 正则表达式及综合案例及文本处理工具

    Shell 正则表达式及综合案例及文本处理工具

     目录 一、常规匹配 二、常用特殊字符 三、匹配手机号 四、案例之归档文件 五、案例之定时归档文件 六、Shell文本处理工具 1. cut工具 2. awk工具 一串不包含特殊字符的正则表达式匹配它自己 例子,比如说想要查看密码包含root字符串的,可以这样写 cat /etc/passwd | grep root 特

    2024年01月17日
    浏览(60)
  • shell之正则表达式及三剑客grep命令

    shell之正则表达式及三剑客grep命令

    什么是正则表达式? 正则表达式是一种描述字符串匹配规则的重要工具 1、正则表达式定义: 正则表达式,又称正规表达式、常规表达式 使用字符串描述、匹配一系列符合某个规则的字符串 普通字符: 大小写字母、数字、标点符号及一些其它符号 元字符: 在正则表达式中具

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包