Grep 命令

先说句题外话免得我最后忘了:ag,貌似比grep更强大。


grep - print lines matching a pattern


通俗的说,就是查找。

怎么查找呢?看语法说明:

grep [options] pattern [files]

比如在/etc/passwd里面查找 root

  1. grep root /etc/passwd
  2. root:x:0:0:root:/root:/bin/bash

查找 bash


  1. grep bash /etc/passwd
  2. root:x:0:0:root:/root:/bin/bash
  3. mr:x:1000:1000:mr,,,:/home/mr:/bin/bash

-v 反向查找,即查找不带pattern的内容


如果还是用文件的话,输出的东西就多了,所以不在此演示。


-c 只是看下有多少行匹配到了


  1. grep -cv ':' /etc/passwd
  2. 0
  3. grep -c bash /etc/passwd
  4. 2

更多选项


-i 忽略大小写 忽略pattern的大小写


-r 递归搜索 在某个目录下搜索全部匹配的文件


-l 只显示文件名 不显示匹配到的行


-E 扩展模式 后面可接正则表达式,更强大


扩展阅读