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

详解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命令中的正则表达式,希望对大家有所帮助

投稿作者

作者网站

订阅评论

提醒

此页的新评论

别人回复我的评论

4a9528a9d16aa2a2d382ba150b860094.png

Label

{}

[+]

名字*

Email*

Website

4a9528a9d16aa2a2d382ba150b860094.png

Label

{}

[+]

名字*

Email*

Website

0 评论

内联反馈

查看所有评论

为您推荐

请支持IMCN发展!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构和算法分析学习笔记(三)--二叉查找树的懒惰删除(lazy deletion)

这次的问题来自《数据结构与算法分析(C描述)》的习题4.16,如下: -------------------------- 4.16 重做二叉查找树类以实现懒惰删除.注意,这将影响所有的例程.特别具有挑战性的是findMin和findMax,它们现在必须递归的完成. -------------------------- 这题没有参考答案,我也不…

javascript类型系统——正则表达式RegExp类型

原文:javascript类型系统——正则表达式RegExp类型 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法前面的话 前面已经介绍过javascript中正则表达式的基础语法。javascript的RegExp类表示正则表达式&#xff0c;String和RegExp都定义了方法&#xff0c;使用正则表达式可以进…

abap调用Linux命令,ABAP中输入write命令使用

1.默认输出:如果没有指定输出长度或格式,系统自动按数据类型默认值输出.eg:data i1 type i value 12345678 . write i1.数据类型I默认长度为11位,右对齐,而i1只有8位长度,所以左边以空格填充.结果: 12345678.2.指定输出.语法1: write [/p(l)] v1[o(sl)]其中:v1可以是变量…

校验值的计算----移位算法

一直以来都是从互联网获得知识&#xff0c;感觉没贡献过什么。 最近做项目研究了一个算法&#xff0c;就写一个共享出来&#xff0c;给需要的人一些参考。 说明&#xff1a; 有一个40字节的数组&#xff0c;前38个字节表示数据&#xff0c;后两个字节表示校验值。 校验值是前面…

【转】符串搜索工具及XenoCode字符串自动解密工具

【http://www.cnblogs.com/chengchen/archive/2008/07/14/1242244.html】 我们在使用OD破解软件的时候&#xff0c;字符串搜索是最常用的功能之一。但是在DONET平台下似乎没有什么比较好的软件&#xff0c;于是自己动手写了一个软件。这个软件可以自动搜索DONET程序集中的所有的…

编译Ruby2.0 问题解决

compiling readline.creadline.c: In function ‘Init_readline’:readline.c:1886:26: error: ‘Function’ undeclared (first use in this function) rl_pre_input_hook (Function *)readline_pre_input_hook; ^readline.c:1886:26: note: ea…

linux 封装python,基于linux下python学习(封装)

一、面向对象类的设计&#xff1a;在程序开发中&#xff0c;要设计一个类&#xff0c;通常需要满足以下三个要求&#xff1a;1、类名 这类事物的名字&#xff0c;满足大驼峰命名法2、属性 这类事物具有什么样的特征3、 方法 这类事物具有什么样的行为eg:小明今年18岁&#xf…

图解RAID 0, RAID 1, RAID 5, RAID 10

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出&#xff0c;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘&#xff0c;同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价…

程序员的不归路

程序员的不归路 数百条线程为何频繁断开&#xff0c;回调函数为何迟迟不回&#xff0c;oracle的数据为何屡遭黑手&#xff0c;连环嵌套循环案&#xff0c;究竟是何人所为&#xff1f;&#xff1f; 诡异的bug背后究竟是人是鬼&#xff0c;传来的对象次次为空的事件又影藏着什么&…

Spring JPA 中的Repository体系

为什么80%的码农都做不了架构师&#xff1f;>>> Repository体系 org.springframework.data.repository.Repository<T, ID> ---- Repository体系的顶级接口,是个空接口 interface CrudRepository<T, ID extends Serializable> extends Repository<T,…

Codeforces 258B Little Elephant and Elections

题意&#xff1a;有7个人从m个数中任选一个不重复的&#xff0c;其中4和7是幸运数&#xff0c;一个人的幸运值等于他所选的数字中所有4的个数7的个数。求一个人的幸运值比其他6人幸运值总和大的方案数。 1 #include <iostream>2 #define MOD 10000000073 using namespace…

Python 数据分析 Matplotlib篇 plot设置线条样式(第2讲)

Python 数据分析 Matplotlib篇 plot设置线条样式(第2讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

装 linux后 win7消失了,win7系统重装后ubuntu启动消失不见的解决方法

很多小伙伴都遇到过win7系统重装后ubuntu启动消失不见的困惑吧&#xff0c;一些朋友看过网上零散的win7系统重装后ubuntu启动消失不见的处理方法&#xff0c;并没有完完全全明白win7系统重装后ubuntu启动消失不见是如何解决的&#xff0c;今天小编准备了简单的解决办法&#xf…

微服务扩展新途径:Messaging

【编者按】服务编排是微服务设置的一个重要方面。本文在利用 ActiveMQ 虚拟话题来实现这一目标的同时&#xff0c;还会提供实用性指导。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 目前&#xff0c;微服务使用已十分普遍&#xff0c;利用服务编排&#xff08;而不是服务编制&…

C语言发送邮件

c语言发送邮件Linux下使用c语言发送邮件 领导交代一个任务&#xff0c;需要将服务器上的df -hl的执行结果定时发给他。 尝试使用sendmail来发邮件&#xff0c;但是后来放弃了&#xff0c;并不是所有的服务器上都安装了sendmail。 于是&#xff0c;就用c写一个吧&#xff0c;还…

linux虚拟主机泛解析,Apache虚拟主机的配置和泛域名解析实现代码

Apache虚拟主机的配置和泛域名解析实现代码更新时间&#xff1a;2012年03月11日 00:28:19 作者&#xff1a;Apache虚拟主机的配置和泛域名解析实现代码&#xff0c;需要的朋友可以参考下虚拟主机的配置基于IP地址的虚拟主机配置Listen 80DocumentRoot /www/jb51ServerName ww…

GetBuffer与ReleaseBuffer的用法

GetBuffer与ReleaseBuffer的用法&#xff0c;CString剖析2008-06-07 22:39 这是一个非常容易被用错的函数&#xff0c;主要可能是由于大家对它的功能不太了解。其实点破的话&#xff0c;也不是那么深奥。 GetBuffer(int size)是用来返回一个你所指定大小可写内存的成员方法。它…

Linux 路径和目录问题

相对路径和绝对路径 绝对路径&#xff1a; 一定要从跟目录写起&#xff0c;比如/usr/share.doc 相对路径&#xff0c;不是由/写起的&#xff0c;相对指的是相对于目前的工作目录的路径。比如cd ../man&#xff0c;..指的是上一级目录 目录的相关操作&#xff1a; . 此层目录 ..…

关于js中function(e) e的理解

e是事件&#xff0c;在firefox中只能在事件现场使用window.event&#xff0c;所以只有把event传给函数使用。 为了兼容FF和其它浏览器&#xff0c;一般会在函数里重新给e赋值&#xff1a;e window.event || e;也就是说&#xff0c;如果window.event存在&#xff0c;则该浏览器…

socket用法linux,linux socket编程,要用到哪些函数,和用法介绍?_Linux_天涯问答_天涯社区...

4、获得地址信息/* 来源: http://www.jfox.info/c/a/ic/18071a.html */#include #include /* for strncpy */#include #include #include #include #include intmain(){int fd;struct ifreq ifr;fd socket(AF_INET, SOCK_DGRAM, 0);/* I want to get an IPv4 IP address */if…