Linux grep 简单使用
一、grep简介
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep家族包括:grep、egrep和fgrep。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把正则表达式后面的所有的字母都看作单纯的字母,不再具有特殊含义(比如:转义)。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
二、grep使用
grep格式:grep [参数] [搜索字符串] [文件]
[root@www ~]# grep [-a c i n v] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c (--count):输出 '搜寻字符串' 的次数
-i (--ignore-case):搜索字符串不区分大小写
-n,( --line-number):输出行号
-v (--invert-match):反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
--color:可以将找到的关键词部分加上颜色的显示
-o,( --only-matching):只显示匹配到的字符串,而不是整行
-An :显示搜索关键字行及前n行
-Bn :显示搜索关键字行及后n行
三、正则表达式:
正则表达式默认情况下工作在贪婪模式,尽可能的匹配更多的字符。
. 匹配任意单个字符
匹配次数定义:
* 匹配其前面字符任意次
\? 匹配其前面的字符1次或者0次(表示该字符可有可无)

\{m,n\} :匹配至少m次,最多n次(次数修饰的是大括号外面的那个字符,反斜线不能去掉)

位置定义:
^x :以x开头的字符(行首)
$ :以x结尾的(行尾)

浙公网安备 33010602011771号