快速业务通道

linux中文本查找

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31


(1)文本查找 寻找含有特定文本的行
grep 基本正则表达式(Basic Regular Expression,BRE)
grep -E 相当于 egrep
grep -F 相当于 fgrep
-i 忽略大小写
-l 列出匹配模式的文件名称,而非打印匹配的行
-q 匹配成功会离开且不将匹配的行写入标准输出,否则即是不成功
-s 显示错误信息 通常与q并用
-v显示不匹配的行
-n 显示匹配项的行号
-An 显示匹配项及匹配项的后n行
-Bn 显示匹配项及匹配项的前n行
-Cn
--color 把匹配的字符高亮显示

egrep 扩展正则表达式(Extended Regular Expression,ERE)这是一套功能更强大的正则表达式,但是会消耗大量的运算资源.
fgrep 快速grep 此版本匹配固定字符串而非正则表达式,使用优化的算法,能匹配多个字符串
(2)元字符是这样一类字符,它们所表达的是不同字面本身的含义
正则表达式元字符
元字符 功能 示例 匹配对象
^ 行首定位符 /^tom/ 匹配所有以tom开头的行
$ 行尾定位符 /tom$/ 匹配所有以tom结尾的行
. 匹配单个字符 /t.m/ 匹配包含一个t,后跟一个字符,再跟一个m的行
* 匹配0个或多个重复的位于星号前面的字符 /*tom/ 匹配包含跟在零个或多个空格后的模式tom的行
[] 匹配一组字符中的任一个 /[tT]om/ 匹配包含tom或Tom的行
[x-y] 匹配指定范围内的一个字符 /[A-Z]om/匹配后面跟着om的一个A至Z之间的字符
[^] 匹配不在指定组内的字符 /[^A-Z]/ 匹配不在范围A至Z之间的任意一个字符

Empire CMS,phome.net

\ 用来转义元字符 /tom\*/ 匹配包含tom后面跟一个*的字符
\< 词首定位符 /\<tom/ 匹配包含以tom开头的词的行
\> 词尾定位符 /tom\>/ 匹配包含以tom结尾的词的行
\(..\) 匹配稍后将要使用的字符的标签 /\(tom\)
x\{m\}或x\{m,\}或x\{m.n\} o\{5,10\}

posix方括号字符集



grep支持的元字符



egrep支持的元字符



练习:
1、显示/proc/meminfo文件中以不区分大小的s开头的行;
grep --color "^[sS]" /proc/meminfo
2、显示/etc/passwd中以nologin结尾的行;
grep --color "nologincontentquot; /etc/passwd
3、显示/etc/inittab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意字符的行;
grep --color "^#[[:space:]]\{1,\}.*" /etc/inittab
4、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行;
grep --color ":[0-9]:" /etc/inittab
5、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;
grep --color "^[[:space:]]\{1,\}.*" /boot/grub/grub.conf
6、显示/etc/inittab文件中以一个数字开头并以一个与开头数字相同的数字结尾的行;
grep --color "^\([0-9]\).*\1contentquot; /etc/inittab
7、ifconfig命令可以显示当前主机的IP地址相关的信息等,如果使用grep等文本处理命令取出本机的各IP地址,要求不包括127.0.0.1;
ifconfig |grep --color "inet addr" |grep -v ''127.0.0.1''|cut -d: -f2 |cut -d" " -f1
或ifconfig | grep --color "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" |grep --color -v "127\.0\.0\.1"

Empire CMS,phome.net

8、显示/etc/sysconfig/network-scripts/ifcfg-eth0文件中的包含了类似IP地址点分十进制数字格式的行;
grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" /etc/sysconfig/network-scripts/ifcfg-eth0
或 egrep "([0-9]{1,3}\.){3}([0-9]{1,3})" /etc/sysconfig/network-scripts/ifcfg-eth0

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号