grep (global search regular expression and print out the line,全面搜索正则表达式并把行打印出来):一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
语法:
grep [选项] [--
color=auto] ‘搜寻字符串’ filename
选项: -a:将 binary 文件以 text 文件的方式搜寻数据 -I 不匹配二进制的东西 -c:计算找到 ‘搜寻字符串’ 的次数 -r:递归目录下的所有文件 -i:忽略字母大小写 -n:输出匹配行及行号 -w:只显示全字符合的列 -L, 匹配多个文件时,显示不匹配的文件名 -l, 匹配多个文件时,显示匹配的文件名 -v:反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行 --
color=auto :将找到的关键词部分加上颜色的显示,默认值为auto,值为no时表示不显示颜色
示例:搜索文本文件/etc/passwd,将出现root的行连同行号一起显示出来
示例:搜索文本文件/etc/passwd,将没出现root的行显示出来 示例:搜索文本文件/etc/passwd,将没出现root的行连同行号一起显示出来
示例:搜索文本文件/etc/passwd,将没出现root和nobody的行连同行号一起显示出来
示例:在当前目录搜索带
''
的行的文件 示例:在当前目录及其子目录下搜索带
''
的行的文件
示例:在当前目录及其子目录下搜索包含’
''
字符串的文件,但是不显示匹配的行,只显示匹配的文件 示例:切割ifconfig 后打印的IP地址