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}
位置锚定:
^ $ /< />
分组:()
-------------------------------------------------------------------------------------------------------------------------
答案见下期哦~~~