(1)-a:不要忽略二进制文件(例如make生成的执行文件也要列入查找范围);
(2)-A:除符合范本的那一行,并显示该行之后的内容;
例如:echo A>f;echo "next" >> f; cat f|grep A -A 1,显示如下:
(3)-B:除符合范本的那一行,并显示该行之前的内容;
例如:echo before>f;echo "A" >> f; cat f|grep A -B 1,显示如下:
(4)-C:除符合范本的那一行,并显示该行之前和之后的内容;
例如:echo before>f;echo "A" >> f;echo "next">>f;; cat f|grep A -C 1,显示如下:
(5)-b:显示除范本行之前的字符数
例如:文件内容
;
11->len(1234\n)+len(567\n)+len(8\n)=11;
-o:只输出文件中匹配范本的部分,即a
(6)-c:计算符合范本的列数
(7)-d:当指定要查找的是目录而非文件时,必须使用这项命令????
(8)-e:指定范本样式:
例如:
(9)-E:正则表达式参数
例如:
(10)-f:指定范本文件
例如:范本文件(找含a或含b) echo a > f; echo b>> f;
(11)-F:将范本样式视为固定字符串的列表?
(12)-G:将范本样式视为普通的表达式来用?
(13)-h:在范本行前不显示文件名
(14)-H:在范本行前显示文件名
(15)-i:忽略字符大小写的区别
(16)-l:列出包含所属范本的文件的名称
例如:
(17)-L:列出不包含范本文件的名称
(18)-n:显示行号
(19)-q:不显示任何消息
(20)-r(-R):递归查找
(21)-s:不显示错误信息:
例如:在有目录的情况下直接grep a *会报错
加上-s后就不会有这个错误提示了;
(22)-v:反转查询(grep a* -v,找不含a的)
(23)-w:只找单词中有且仅有范本样式的
(24)-x:文件中的一行有且仅有范本样式;
(25)-y:与-i的效果一致
(26)-o:只输出文件中匹配到的部分