如何解决grep中使用“\ d"匹配数字不成功

介绍

本篇内容介绍了”如何解决grep中使用“\ d"匹配数字不成功”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先正则表达式分为三类(男人grep可以看的到,分别是基本的正则表达式,扩展正则表达式,perl正则表达式)

正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

<强>一、正则表达式分类:

1,基本的正则表达式(基本正则表达式又叫基本RegEx 简称想)

2,扩展的正则表达式(扩展正则表达式又叫扩展正则表达式简称你是)

3, Perl的正则表达式(Perl正则表达式又叫Perl正则表达式简称总统)

,说明:只有掌握了正则表达式,才能全面地掌握Linux下的常用文本工具(例如:grep, egrep,枪sed、Awk等)的用法

<强>二,Linux中常用文本工具与正则表达式的关系

常握Linux下几种常用文本工具的特点,对于我们更好的使用正则表达式是很有帮助的

<强> grep, egrep正则表达式特点:

1) grep支持:想,你是,总统正则表达式

grep指令后不跟任何参数,则表示要使用“想”

grep指令后跟“-E"参数,则表示要使用“你是”

grep指令后跟“-P"参数,则表示要使用“PREs"

2) egrep支持:你是,总统正则表达式

egrep指令后不跟任何参数,则表示要使用“你是”

egrep指令后跟“-P"参数,则表示要使用“PREs"

3) grep与egrep正则匹配文件,处理文件方法

。grep与egrep的处理对象:文本文件

b。grep与egrep的处理过程:查找文本文件中是否含要查找的“关键字”(关键字可以是正则表达式),如果含有要查找的“关健字”,那么默认返回该文本文件中包含该“关健字”的该行的内容,并在标准输出中显示出来,除非使用了”在“重定向符号,

c。grep与egrep在处理文本文件时,是按行处理的

<强> sed正则表达式特点

1) sed文本工具支持:想,你是

sed指令默认是使用“BREs"

sed命令参数- r,则表示要使用“EREs"

2) sed功能与作用

。sed处理的对象:文本文件

b。sed处理操作:对文本文件的内容进行- - -查找,替换,删除,增加等操作

c。sed在处理文本文件的时候,也是按行处理的

<强> Awk (gawk)正则表达式特点

1) Awk文本工具支持:你是

Awk指令默认是使用“EREs"

2) Awk文本工具处理文本的特点

。awk处理的对象:文本文件

b。awk处理操作:主要是对列进行操作

<强>三,常见3中类型正则表达式比较

字符说明基本RegExExtended RegExpython RegExPerl regEx转义
\ \ \ \ ^匹配行首,例如& # 39;^狗# 39;匹配以字符串狗开头的行(注意:awk指令中,& # 39;^ & # 39;则是匹配字符串的开始)^ ^ ^ ^ $匹配行尾,例如:& # 39;^,狗$ & # 39;匹配以字符串狗为结尾的行(注意:awk指令中,& # 39;$ & # 39;则是匹配字符串的结尾)$ $ $ $ ^ $

匹配空行

^ $ ^ $ ^ $ ^ $ ^字符串$匹配行,例如:& # 39;狗^ $ & # 39;匹配只含一个字符串狗的行字符串$ ^字符串$ ^ ^字符串$ ^字符串$ \ & lt;匹配单词,例如:& # 39;\ & lt;青蛙# 39;(等价于& # 39;\ bfrog& # 39;),匹配以青蛙开头的单词\ & lt; \ & lt;不支持不支持(但可以使用\ b来匹配单词,例如:& # 39;\ bfrog& # 39;)

\祝辞

匹配单词,例如:& # 39;青蛙\祝辞& # 39;(等价于& # 39;青蛙\ b & # 39;),匹配以青蛙结尾的单词\祝辞\祝辞不支持不支持(但可以使用\ b来匹配单词,例如:& # 39;青蛙\ b # 39;)

\ & lt; x \祝辞

匹配一个单词或者一个特定字符,例如:& # 39;\ & lt;青蛙\祝辞& # 39;(等价于& # 39;\ bfrog \ b # 39;), & # 39; \ & lt; G \祝辞& # 39;\ & lt; x \祝辞\ & lt; x \祝辞不支持不支持(但可以使用\ b来匹配单词,例如:& # 39;\ bfrog \ b # 39;

()

匹配表达式,例如:不支持& # 39;(青蛙)& # 39;不支持(但可以使用\(\),如:\(狗\)()()()

\ (\)

匹配表达式,例如:不支持& # 39;(青蛙)& # 39;\(\)不支持(同())不支持(同())不支持(同())

?

匹配前面的子表达式0次或1次(等价于{0,1}),例如:(是)在哪里?能匹配“where"以及“whereis"不支持(同\ ?)? ? ? \ ?匹配前面的子表达式0次或1次(等价于& # 39;\{0,1 \}& # 39;),例如:& # 39;\(\)\在哪里?& # 39;能匹配“where"以及“whereis" \ ?不支持(同?)不支持(同?)不支持(同?)?当该字符紧跟在任何一个其他限制符(*,+,{n}, {n}, {n, m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串,例如,对于字符串“oooo", & # 39; o + ? & # 39;将匹配单个“o",而& # 39;o + & # 39;将匹配所有& # 39;o # 39;不支持不支持不支持不支持。匹配除换行符(& # 39;\ n # 39;)之外的任意单个字符(注意:awk指令中的句点能匹配换行符)…(如果要匹配包括在“\ n”内的任何一个字符,请使用:& # 39;(^ $)|(。)…(如果要匹配包括在“\ n”内的任何一个字符,请使用:& # 39;(。\ n] & # 39; *匹配前面的子表达式0次或多次(等价于{0}),例如:佐薇*能匹配“z"以及“zoo" * * * * \ +匹配前面的子表达式1次或多次(等价于& # 39;\{1 \}& # 39;),例如:& # 39;地方\(\)\ + & # 39;能匹配“whereis"以及“whereisis" \ +不支持(同+)不支持(同+)不支持(同+)+匹配前面的子表达式1次或多次(等价于{1,}),例如:佐薇+能匹配“zo"以及“zoo",但不能匹配“z"不支持(同\ +)+ + + {n}

如何解决grep中使用“\ d"匹配数字不成功