Linux grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
1、 grep使用简明
grep命令用于查找文件里符合条件的字符串。
可以使用#grep --help查看其使用方法。
常用参数:
-i:忽略大小写
--color:符合模式的文本行显示颜色
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串
-E:使用扩展正则表达式(=egrep)
使用基本正则表达式定义的模式来过滤文本,并将符合模式的文本行显示出来:
grep [options] PATTERN [FILE...]
基本正则表达式(PATTERN中的元字符匹配):
(1)字符匹配
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[[:digit:]]:匹配数字[0-9]
[[:lower:]]:匹配小写字母[a-z]
[[:upper:]]:匹配大写字母[A-Z]
[[:punct:]]:匹配特殊字符
[[:space:]]:匹配空格
[[:alpha:]]:匹配字母[a-zA-Z]
[[:alnum:]]:匹配字母和数字[0-9a-zA-Z]
(2)次数匹配
*:匹配其前面的字符任意次(0次-任意次)
.*:任意长度的任意字符
\?:匹配其前面的字符1次或0次
\{m,n\}:匹配其前面的字符至少m次,至多n次
例如\{1,\}:匹配其前面的字符至少1次
\{0,3\}:匹配其前面的字符0到3次
(3)位置锚定
^:锚定行首
$:锚定行尾
^$:表示空白行
\<或\b:锚定词首
\>或\b:锚定词尾
(4)分组及后向引用
\(\):分组,将之后需要引用的内容分组囊括起来
\n:后向引用,即引用前面第n个括号内包含的所有内容
扩展正则表达式(PATTERN中的元字符匹配扩展):
(1)次数匹配
?:匹配其前面的字符1次或0次
+:匹配其前面的字符至少1次
{m,n}:匹配其前面的字符至少m次,至多n次
(2)分组及后向引用
():分组,将之后需要引用的内容分组囊括起来
\n:后向引用,即引用前面第n个括号内包含的所有内容
(3)或者
|:匹配左边的字符串或者右边的字符串
例如B|boy:B或boy
2、 grep配置颜色显示
grep是查日志时必须要用的命令,为了在终端方便显示查看,可以加颜色和高亮等设置。
Linux系统使用grep命令让查找出来的内容更直观的打印出来,有两种常用方法:
方法1:设置别名
#vi ~/.bashrc
添加内容:
alias grep='grep--color=auto' //grep--color=auto设为grep
#source ~/.bashrc //使配置即时生效
方法2:设置系统环境变量
#vi ~/.bashrc
添加内容:
export GREP_OPTIONS='--color=XXX'GREP_COLOR='a;b'
#source ~/.bashrc //使配置即时生效
参数说明:
export GREP_OPTIONS='--color=XXX';XXX有三个值供选择:never、always、auto;
always和auto的区别:always会在任何情况下都给匹配字段加上颜色标记;auto只给最后一个管道符匹配项加亮显示;
export GREP_COLOR='a;b';默认是'1;31(高亮的红色);可以根据自己的喜好设置不同的颜色:
a可以选择:0、1、4、5、7、8
0关闭所有属性
1设置高亮度
4下划线
5闪烁
7反显
8消隐
b可以选择:30-37或40-47
X0 black
X1 red
X2 green
X3 yellow
X4 blue
X5 purple
X6 cyan
X7 white
X=3:设置前景色
X=4:设置背景色
参考:http://www.linuxidc.com/Linux/2014-09/106871.htm
------------------------------------------------------Tanwheey--------------------------------------------------
爱生活,爱工作。