grep

*  重复0个或多个前面的字符

?  代表重复0个或一个前面的字符

.*匹配所有字符

+ 代表重复一个或多个字符

. 点号代表一个字符

-v: 逆反模示, 只输出"不含" RE 字符串之句子.

-V:查看版本
-r: 递归模式, 可同时处理所有层级子目录里的文件.
-q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value, 符合为 true, 否则为 false .)
-i: 忽略大小写.
-w: 整词比对, 类似 <word> .
-n: 同时输出行号.
-c: 只输出符合比对的行数.
-l: 只输出符合比对的文件名称.
-o: 只输出符合 RE 的字符串

-A:显示关键字及后num行

-B:显示关键字及后前num行

-C:显示关键字及后前后num行

列举几个我常用的命令

查找文件名:

  1.ls | grep "keyword"    //列举文件名包含keyword的文件

  grep后也可以加-o -w参数更细化查找

查找显示:

  1.grep -n "keyword" filename    //查看关键字

  2.grep -C num "keyword" filename   //查看关键字上下num行,num是具体数字,比如5

统计:

  1.grep -on  关键字 文件名  //只显示匹配关键字  ,还有所在行数

  2.grep -o "keyword" filename |wc -l      //模糊查询,统计关键字出现的个数

  3.grep -wo "keyword" filename |wc -l  //整词查询,统计关键字出现的个数

  4.grep -c "keyword" filename     //查看包含关键字的行数

 关键字可以“” ,貌似不用“”也没问题

原文地址:https://www.cnblogs.com/hebiao/p/14283166.html