Linux grep命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为”-“,则grep指令会从标准输入设备读取数据。
语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][–help][范本样式][文件或目录…]
参数
-r 递归的对目录下的所有文件(包括子目录)进行搜寻
-o 只输出匹配部分
-a 将 binary 文件以 text 文件的方式搜寻数据
-c 计算找到 ‘搜寻字符串’ 的次数
-i 忽略大小写的不同,所有大小写视为相同
-n 顺便输出行号
-v 反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
–color=auto 可以将找到的关键词部分加上颜色的显示
实例
1、将/etc/passwd,有出现 “root” 的行取出来,并输出行号(-n)
$grep root -n /etc/passwd
2、将/etc/passwd,没有出现 “root” 的行取出来,并输出行号(-n)
$grep -v -n root /etc/passwd
3、在/etc/passwd目录及其子目录下搜索 “root” 行的文件
$grep -r root /etc/passwd
4、在当前目录及子目录搜索带 “root” 行的文件,并高亮显示关键字(–color=auto)
$ grep -r –color=auto root *
5、统计在/etc/passwd目录搜寻 “root”的总次数
$grep -c root /etc/passwd