grep命令的搜索文本能力十分的强大,刚接触也只是瞥见了冰山一角。
命令格式
grep 参数 颜色 搜索内容 文件名
参数有如下几种:
-a:将二进制文本按照text内容搜索
-i:忽略大小写
-c:统计匹配到的文本行数量
-v:反向输出没有匹配到的行
-n:显示行号
颜色:
--color=auto 设定搜索到的内容的颜色
应用正则表达式时主要用到的参数:
\:忽略正则表达式中特殊字符的含义,通常所说的转意字符
^:匹配到的内容在行的开始
$:匹配到的内容在行尾
\<:匹配到的内容在单词的开始
\>:匹配的内容在单词的结束
[]:单个字符
[-]:范围
.:所有单个字符
*:所有字符,可以为0个
{m,n}:匹配的内容至少出现m次,至多出现n次
|:管道符号,多个内容匹配的时候,或者或者的意思
():聚合符号,括起来的内容可以当做一个整体进行其他操作
[^a]:不以字符a开头
可以使用国际模式匹配的类名:
[[:upper:]] [A-Z]
[[:lower:]] [a-z]
[[:digit:]] [0-9]
[[:alnum:]] [0-9a-zA-Z]
[[:space:]] 空格或tab
[[:alpha:]] [a-zA-Z]
[[:upper:]] [A-Z]
[[:lower:]] [a-z]
[[:digit:]] [0-9]
[[:alnum:]] [0-9a-zA-Z]
[[:space:]] 空格或tab
[[:alpha:]] [a-zA-Z]
实战练习
grep ‘3\+’ test 搜索包含一个或者多个3
grep '^$' test 搜索空白行
grep ‘^the’ test 搜索以the开头
grep '[t]\{3\}' test 搜索出现3个t