详解Linux命令中的正则表达式

Mark Do 2017年9月19日 暂无评论 阅读 981 次

命令中的正则表达式

如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式。正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查找和定位文本中指定的内容。

1、单字符匹配符.

正则表达式主要由一些元字符和匹配模式组成

单字符匹配符可以匹配任意单个字符,这个字符的功能和文件名匹配符中的?功能相同

使用正则表达式查找文本,首先需要使用元字符组成一个查找模式

(1)使用查找模式时,通常将其放入两个斜杠//中,然后再放入命令,例如要在一个文本中查找匹配模式/.i…../,可能选项就有:只要小写字母没有出现在行首,或行尾的最后有5个字符都能匹配

2、单字符或字符串重复匹配符*

用来匹配单个字符或者一个字符串序列的一次或者多次重复出现

3、行首匹配符^

用于在匹配中指示行首位置字符串或者模式,使用时需要将行首匹配符放在要匹配的字符串或模式的前面

例如对命令ls -1 使用行首匹配/^1/,结果都是以1开头的

4、行尾匹配符$

用于在文本的每一行的行尾匹配字符串或模式,使用时将行尾匹配符放在字符串或模式后面

例如在文本中匹配所有行尾是love的行

/love$/

5、反斜杠屏蔽符\

该符用来屏蔽一些特殊字符的特殊含义,常见的特殊字符可能是引用符号,注释符号,通配符和逻辑运算符等,下面列举一些特殊的符号

注释、分隔符号:#、;等

引用符号:$、“、””等

元字符:.、*、^、$、?、[]、\等

逻辑运算符或操作符:||、&&等

在命令中使用这些字符时,都要使用反斜杠将其特殊含义屏蔽

例如使用乘法符号*做乘法运算,就要用反斜杠将其特殊含义屏蔽在做使用

# expr 256 \* 256

6、范围匹配符[]和排除范围匹配符[^]

与文件名通配符中的范围匹配符用法基本相同

(1)匹配单词love和Love:

/[L]ove/

(2)不匹配所有的字母:

[^a-z]

7、词首、词尾匹配符 \< 和 \>

用于在单词开头和单词结尾匹配特定的字符或模式

(1)例如要匹配以disc 为词首的文本,可以使用

/\

(2)要匹配以ment为词尾的文本,可以使用:

/ment\>/

8、重复次数匹配符”x\{\}”

可以全精确匹配字符或字符串连续出现的次数或次数范围

(1)要匹配字母m出现次数为5次的文本,可以使用:

/m\{5\}/

(2)要匹配字母m出现次数至少5次的文本,可以使用:

/m\{5,\}/

(3)匹配字母m出现次数在5至10次的文本,可以使用:

/m\{5,10\}/

9、组合并使用正则表达式

(1)在查找和筛选信息时,有时需要去除文本中的空行,由于空行没有任 何字符,可以使用行首,行尾匹配符匹配空行

/^$/

(2)有时一些文本为了看上去更加美观,会使用一种字符填充整行,可以使 用以下模式匹配这些行:

/^.*$/

(3)匹配以the或The开头的所有行

/^[tT]he/

(4)排除以the和The开头的所有行

/^[^Tt]he/

(5)匹配一个IP地址:

/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/

(6)匹配一个6个字母组成的字符串,前两个字符是字母,中间两个字符是22 且最后两个字符是小写字母:

[a-z]\{2\}22[a-z]\{2\}

(7)要精确匹配单词love:

/\/

以上所述是小编给大家介绍的详解Linux命令中的正则表达式,希望对大家有所帮助

投稿作者

作者网站

订阅评论

提醒

此页的新评论

别人回复我的评论

Label

{}

[+]

名字*

Email*

Website

Label

{}

[+]

名字*

Email*

Website

0 评论

内联反馈

查看所有评论

为您推荐

请支持IMCN发展!

linux命令 正则表达式,详解Linux命令中的正则表达式相关推荐

  1. shell中正则表达式详解_Shell if中的正则表达式使用详解

    由于工作需要对用户提交的数据进行验证,这是一个简单的日期正则验证实例,有需要了解的同学可参考. shell中的if语句需要做一个正则判断,查了一下语法记录之. DATEPATTERN="^[ ...

  2. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  3. linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令

    linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇  2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...

  4. Linux文件关联详解 linux 修改默认文件关联打开程序

    linux 修改默认文件关联打开程序 从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式 /.local/share/applications/mimeapps.lis ...

  5. 【详解】MySQL中使用正则表达式

    [详解]MySQL中使用正则表达式 前言 使用介绍 1.基础匹配 2.二选一(OR)匹配 3.特定一组字符的匹配 4.范围匹配 5.特殊字符匹配 6.字符类匹配 7.多个实例结果匹配 8.使用定位符匹 ...

  6. 清理linux服务器缓存,详解Linux手动释放缓存的方法

    详解Linux手动释放缓存的方法 发布时间:2020-08-20 07:53:27 来源:脚本之家 阅读:87 作者:闪电王国 栏目:服务器 Linux释放内存的命令: sync echo 1 > ...

  7. linux摄像头V4L2 subdev,linux 摄像头驱动 详解linux 摄像头驱动编写

    想了解详解linux 摄像头驱动编写的相关内容吗,feixiaoxing在本文为您仔细讲解linux 摄像头驱动的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:linux,摄像头驱动,下面 ...

  8. Linux中光盘使用的文件类型,linux下mount命令使用详解---linux挂载光盘等文件系统...

    mount 命令详解 功能:加载指定的文件系统. 语法:mount [-afFhnrvVw] [-L标签] [-o选项] [-t文件系统类型] [设备名] [加载点] 用法说明:mount可将指定设备 ...

  9. linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解

    如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...

最新文章

  1. AX2009报表打印固定长度Barcode条码
  2. 为什么我们从Angular 2迁移到Vue.js(为什么我们没有选择React)
  3. 网页html好学嘛,javascript好学么?
  4. 第11讲++数据的基本查询
  5. 的源码管理器中有感叹图标_玄说前端面试层层解析—关于 redux 的源码
  6. 新浪微博后台服务器架构
  7. Hbase rowkey设计原则,热点问题
  8. 360浏览器卸载_无法卸载?Win10 强推新 Edge 浏览器,来教你如何干掉它
  9. 操作系统中死锁的概念
  10. 过滤HTML标记、HTML注释、“!@#¥%”等非法字符
  11. 【读书笔记】深入浅出数据分析
  12. 移动wap浏览器网页调试工具vconsole和eruda
  13. vb视屏教程计算机二级b,计算机二级vb教程|二级vb视频教程|计算机二级视频教程|快速通过计算机二级VB|猎豹网校视频...
  14. 01—C语言基本语句
  15. 详解c语言中‘\0’ ,‘0’, “0” ,0的区别
  16. 小趴趴--知乎精华回答的非专业大数据统计
  17. MySQL数据库操作与查询的综合测试题
  18. linux操作系统为SCSI硬盘分区,Linux中硬盘分区的表示方法
  19. 如何批量在文件夹中建立php,怎样快速实现批量建立文件夹 电脑一次性快速批量新建多个文件夹的方法...
  20. 软件测试工程师必看:如何使用JMeter中的正则表达式?

热门文章

  1. 启动tomcat出现too many connections的原因及解决方法
  2. Mysql查询结果只有一条的情况下把值赋值给变量,再用if else 流程判断
  3. sql中实现取得某字段中数字值
  4. 3D打印材料PLA,ABS对比
  5. 汇编 if else
  6. 蓝桥杯 参考题目 黄金队列(水题)
  7. 第一章:The Missing Code Library--2.合法化输入
  8. 您请求的报表需要更多信息...
  9. JS正则表达式验证数字非常全 - 吾心无所 - 博客园
  10. applet实现大文件ftp上传(三)