Linux命令(1) grep
2016-09-10 03:40
190 查看
1. 作用
全称Global Regular Expression Print,全局正则表达式输出。使用正则表达式搜索文本,并输出。2. 格式
grep [OPTIONS] PATTERN [FILE…]egrep 扩展正则表达式,相当于grep -E
fgrep 不支持正则表达式元字符,搜索字符串的速度快,相当于grep -F
3. 选项
-i 忽略大小写-n 同时输出行号
-r 递归搜索,搜索子目录
-v 反向选择,即不符合pattern的行
-l 只显示文件名,不输出对应行
-L 只列出不匹配的文件名
-c 计算符合样式的列数
-o: 只显示被模式匹配到的字串,而不是整个行
-A #:显示匹配到行时,顺带显示其后面的#个行;
-B #:显示匹配到行时,顺带显示其前面的#个行;
-C #:显示匹配到行时,顺带显示其前后的#个行;
-e 基础正则表达式
-E 扩展正则表达式
-h 查询多文件时不显示文件名
-s 不显示不存在或无匹配文本的错误信息
-w 匹配整词
-x 匹配整行
4. 正则表达式
^: 匹配正则表达式的开始行 $: 匹配正则表达式的结束行 .: 所有的单个字符 * : 有字符,长度可以为0 \<: 从匹配正则表达式的单词开头 \>: 到匹配正则表达式的单词结尾 \<word\>: 选择存在word的行 [ ]: 单个字符,如[A]即A符合要求 [^]:匹配指定范围外的任意单个字符 [ - ]: 范围,如[A-Z],即A、B、C一直到Z都符合要求 \(..\) 标记匹配字符,如'\(love\)',love被标记为1。 x\{m\} 重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 x\{m,\} 重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。 x\{m,n\}重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。 \w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。 \b 单词锁定符,如: '\bgrep\b'只匹配grep。
5. 字符和字符集合
\d:数字字符匹配。等效于 [0-9]。 \s:匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。 \S:匹配任何非空白字符。与 [^ \f\n\r\t\v] 等效 \w:匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。 \W:与任何非单词字符匹配。与“[^A-Za-z0-9_]”等效。 [:digit:]:所有数字, 相当于0-9 或者\d [:space:]:空白字符 相当于\s
6. 举例
选择空行选择以root开头的行
选择以sh结束的行
匹配a后面跟了任意一个数字或字母的行
匹配0或1个a后面跟了个b的行
匹配最少一个a,最多3个a后面跟了一个b的行
锚定单词admin的行
匹配自少出现一次ad,最多出现3次ad的行
7. 参考资料
http://www.linuxidc.com/Linux/2013-07/87919.htmhttp://www.linuxidc.com/Linux/2013-07/87919p2.htm
man grep
相关文章推荐
- Linux命令基础37-grep命令
- 利用多核CPU来加速你的Linux命令(awk, sed, bzip2, grep, wc)
- 《Linux命令、编辑器与Shell编程》读书笔记4.1-查找和筛选工具(grep,find,sed)
- linux命令: ps、grep、kill
- 每日一linux命令(53)-------grep 命令
- Linux命令(23)grep命令的使用
- Linux命令: grep命令
- linux命令学习(1):grep 命令
- linux命令(linux之ls -l|grep "^-"|wc -l命令)
- linux命令grep和awk命令使用
- linux命令系列之grep
- Linux命令-grep
- linux命令(15)——grep命令
- linux命令应用-grep
- linux命令grep用法汇总
- linux命令(11)--grep命令及正则表达式
- Linux命令:grep
- Linux命令 zgrep
- Linux命令 grep
- Linux命令(32)——grep命令