搭建高可用、高性能jsp集群

grep在日常工作中用到的太多了,今天将常用的grep和egrep几个例子分享给大家.

grep用法

grep ‘PATTERN‘ FILE1 ...

grep包含几个元字符

.  匹配任意字符
*  这个比较特殊,表示匹配其前面的字符,任意次数 0/1/多次

牟定符

$ 词尾牟定
^ 词首牟定
\< 词首牟定
\> 词尾牟定
\b 放在词首则表示为牟定词首,放在词尾则表示为牟定词尾

前向引用

\(\)\n   将别引用的字符串用括号括起来,后面跟引用次数,n表示引用次数
    grep \(1\).*\2  表示1xxx11这样类型的字符串

匹配

\{\} 匹配1次

PATTERN

-E 扩展正则表达式
-v 匹配取反,显示不包含匹配文本的所有行。
-i 不区分大小写(只适用于单字符)。
-o 只显示匹配到的字符串
-c 只输出匹配行的计数。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。


实例:

1.显示/etc/inittab非空行

grep -v "^$" /etc/inittab
grep -v "^[[:space:]]$" /etc/inittab

2.通过取出ifconfig中的IP地址

ifconfig |grep -o "[1-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[1-9]\{1,3\}"

3.显示文件/etc/inittab,以#号开头,后面跟若干个空白字符,而后跟任意字符的行。

grep "^#[[:space:]]\{1,\}.*[^[:space:]]$" /etc/inittab --color
grep "^#[[:space:]]\{1,\}.*[^[:space:]]\{1,\}" /etc/inittab --color

4.显示一个文件中以数字开头数字结尾的行,开始数字和结尾数字相同

grep "^\([0-9]\).*\1$" filename



egrep

egrep = grep -E

元字符,除了基本元字符外还包括:

|: 或者 a|b  这个选项用的最多
+: 匹配其前导字符1次或多次;
?: 匹配其前导字符1次或0次;
():分组 (ab)*
\{\} 改成 {}  基本表达式中的次数匹配被大括号代替
\(\) 前向引用不再支持。

举例:

使用扩展表达式显示/proc/meminfo以S/s开头的行

egrep "^(s|S)" /proc/meminfo

本文出自 “活着意味着一切” 博客,请务必保留此出处http://51cliang.blog.51cto.com/851508/1371491

搭建高可用、高性能jsp集群,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。