grep命令是Linux中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
grep的主要参数:
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
字符类:
1). 匹配任意一个字符的一次出现(字符必须要存在)
2)[ ]:匹配括号中的任意一个字符
3)-:在[ ]内,表示字符的范围
数量限定符:
1)?: 紧跟在它前面的单元匹配零次或一次
2)*:紧跟在它前面的单元匹配零次或多次
3)+:紧跟在它前面的单元匹配一次或多次
4){N}:紧跟在它前面的单元匹配N次
5){N,}:紧跟在它前面的单元至少匹配N次
6){N,M}:紧跟在它前面的单元最少匹配N次,最多匹配M次
位置限定符:
1)^:匹配行首的位置
2)$: 匹配行尾的位置
3)\<:匹配单词开头的位置
4)\>:匹配单词结尾的位置
5)\b:匹配单词开头或者结尾的位置
6)\B:匹配非单词开头或者结尾的位置
其它特殊字符:
1)\:转义字符,普通字符转为特殊字符,特殊字符转为普通字符
2)():将正则表达式的一部分括起来组成一个单元,可以对整个单元使用数量限定符
3)|:连接两个子表达式,表示或的关系
练习:
1.匹配到正确的手机号码
2.匹配到正确的邮箱
3.匹配到正确的IP地址