Linux篇---Grep和正则匹配

一.前述

Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章。

二.匹配规则

匹配操作符:

                  转义字符
.                      匹配任意单个字符
[1249a],[^12],[a-k]  字符序列单字符占位
^                 行首
$                  行尾
<,>:<abc           单词首尾边界
|                   连接操作符
(,)              选择操作符
             反向引用

重复操作符:
?          匹配0到1次。
*          匹配0到多次。
+         匹配1到多次。
{n}       匹配n次。
{n,}      匹配n到多次。
{n,m}      匹配n到m次。
与扩展正则表达式的区别:grep basic
?, +, {, |, (, and )
匹配任意字符 .*
三。示例

oxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx
oo1234xx
ooxyzxx

查询有ooxx单词的行

grep "<ooxx>" test.txt

查询以ooxx开头的单词

 

 查询有数字的行

grep "[0-9]" test.txt;

grep "[34]" test.txt;

ps:【】是一个字符序列,占位符。

 查询有4个数字的行

grep "[0-9]{4}" test.txt

ps:重复操作符,自定义的需要转义。

 查询有4个数字的行,但前后都没有数字的行

grep "[^0-9][0-9]{4}[^0-9]" test.txt

ps:^是取反的意思。

原文地址:https://www.cnblogs.com/LHWorldBlog/p/8317664.html