linux基础七

grep: 根据模式搜索文本,并将符合模式的文本行显示出来。

Pattern: 文本字符和正则表达式的元字符组合而成匹配条件

 

grep [options] PATTERN [FILE...]
-i
--color
-v: 显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串

文件名通配符:
*: 任意长度的任意字符
?: 任意单个字符
[]:
[^]:

正则表达式:REGular EXPression, REGEXP

元字符:.: 匹配任意单个字符
[]: 匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:]

匹配次数(贪婪模式):
*: 匹配其前面的字符任意次

.*: 任意长度的任意字符

?: 匹配其前面的字符1次或0次

{m,n}:匹配其前面的字符至少m次,至多n次

位置锚定:

^: 锚定行首,此字符后面的任意内容必须出现在行首

$: 锚定行尾,此字符前面的任意内容必须出现在行尾
^$: 空白行

<或: 锚定词首,其后面的任意字符必须作为单词首部出现
>或: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

分组:
()
(ab)*
后向引用
1: 引用第一个左括号以及与之对应的右括号所包括的所有内容
2:
3:
He love his lover.
She like her liker.
He like his lover.

REGEXP:基本正则表达式

Detended Regexp :扩展正则表达式

---------------------------------------------------

regexp:使用基本正则表达式定义
-i :显示

-v:显示没有被模式匹配到的行

-o:只显示被模式匹配到的字符串

--color:改变颜色

-E:使用扩展正则表达式

练习题:

1.显示/proc/meminfo文件中以不区分大小的s开头的行

2、显示/etc/passwd中以nologin结尾的行; 

3、取出默认shell为/sbin/nologin的用户列表

4、显示/boot/grub/grub.cfg文件中以一个或多个空白字符开头的行;

扩展正则表达式:

字符匹配:

. :匹配任意单字符

[]:匹配指定范围内的字符

[^]:匹配指定范围外的字符

次数匹配

*: 匹配字符前面的任意次

?:匹配前面字符1次或0次

+:匹配前面的字符至少1次

{m,n}

位置锚定:

^   $  /<  />

分组:() 

-------------------------------------------------------------------------------------------------------------------------

答案见下期哦~~~

原文地址:https://www.cnblogs.com/X404/p/12259841.html