略微加速

略速 - 互联网笔记

grep使用简明及正则表达式

2021-02-23 15:57:55 leiting (153阅读)

标签 软件 Linux

1、grep使用简明

使用基本正则表达式定义的模式来过滤文本,并将符合模式的文本行显示出来
grep [options] PATTERN [FILE...]

-i      :忽略大小写
--color  :符合模式的文本行显示颜色
-v      : 显示没有被模式匹配到的行
-o      :只显示被模式匹配到的字符串
-E      : 使用扩展正则表达式(= egrep)

2、基本正则表达式(PATTERN中的元字符匹配)
(1)字符匹配
.  : 匹配任意单个字符
[]  : 匹配指定范围内的任意单个字符
[^] :匹配指定范围外的任意单个字符


[[:digit:]]    :匹配数字 [0-9]
[[:lower:]]  :匹配小写字母 [a-z]
[[:upper:]]  :匹配大写字母 [A-Z]
[[:punct:]]  :匹配特殊字符
[[:space:]]  :匹配空格
[[:alpha:]]  :匹配字母 [a-zA-Z]
[[:alnum:]]  :匹配字母和数字 [0-9a-zA-Z]

 

(2)次数匹配
*      : 匹配其前面的字符任意次(0次-任意次)
.*      : 任意长度的任意字符
\?      : 匹配其前面的字符1次或0次
\{m,n\} : 匹配其前面的字符至少m次,至多n次
        例如  \{1,\}  :匹配其前面的字符至少1次
              \{0,3\} :匹配其前面的字符0到3次

 

(3)位置锚定
^      : 锚定行首
$      : 锚定行尾
^$      : 表示空白行

\<或\b    :锚定词首
\>或\b    :锚定词尾

 

(4)分组及后向引用
\(\)        :分组,将之后需要引用的内容分组囊括起来
\n      : 后向引用,即引用前面第n个括号内包含的所有内容

 


3、扩展正则表达式(PATTERN中的元字符匹配扩展)
(1)次数匹配
?        : 匹配其前面的字符1次或0次
+        : 匹配其前面的字符至少1次
{m,n}    : 匹配其前面的字符至少m次,至多n次

 

(2)分组及后向引用
()            :分组,将之后需要引用的内容分组囊括起来
\n      : 后向引用,即引用前面第n个括号内包含的所有内容

 

(3)或者
|        :匹配左边的字符串或者右边的字符串
        例如  B|boy  : B或boy


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3