Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 入门 > Linux入门 > 正文

Linux基础(三)--grep的使用和基本正则表达式

时间:2014-05-31 09:41 来源:未知 作者:www.51ou.com 阅读:

本文中主要介绍了linu系统下grep命令的用法和基本正则表达式。

 

1.grep作用

Linux系统中文本文件是最常见的一种文件,而grep命令是一种强大的文本搜索工具,也是最长用到的命令之一,它能使用正则表达式搜索文本。grep全称是Global Regular Expression Print,它的使用权限是所有用户。在linux中,有grep,egrep,fgrep三种命令格式,其中grep默认支持基本正则表达式,egrep支持扩展正则表达式,fgrep不支持正则表达式元字符,搜索字符串的速度快。

本文只介绍基本的grep命令和基本正则表达式。

 

2.grep的命令格式
grep [options] 'pattern' FILE

 

3.grep的基本使用

在abc.txt文件中有如下字段:

wKiom1MRypiQbt87AAARRnvLIbQ359.jpg

要想找出其中包含a的字段,可以用如下命令:

grep ‘a’ abc.txt

对应结果如下:

wKiom1MRy0XwDtIGAAAq5JkmTko552.jpg

 

4.正则表达式

   正则表达式就是一类字符所书写出的模式(pattern),来处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊称号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。需要注意的是基本正则表达式使用的是贪婪模式。

   常见基本正则表达式如下:

^:锚定行首的符号条件的内容,用法格式“^pattern”

如,搜索abc.txt下,以a开头的字段:

grep '^a' abc.txt

wKiom1MRzsjS1NYnAAArW9VVe98369.jpg

$:锚定行尾的符号条件的内容,用法格式“pattern$”

如,搜索abc.txt下,以b结尾的字段:

grep 'b$' abc.txt

wKioL1MRzwzxz-ryAAAi1jkl388265.jpg

^$:空白行
.:匹配任意单个字符
*:匹配紧挨在其前面的字符任意次

如a*b表示取b,ab,aab,aaab...

grep 'a*b' abc.txt

wKioL1MRz5HAc6PYAAAmnhElmos349.jpg

.*:匹配任意长度的任意字符

[]:匹配指定范围内的任意单个字符

如:

wKioL1MR0GTRxI5qAAAoa6Z7H5g800.jpg

[^]:匹配指定范围外的任意单个字符
\?:匹配紧挨在其前面的字符0次或1次

   如a\?b则有ab或b匹配

wKioL1MR0NSS-VuLAAAncfIsn4Y988.jpg

\{m,n\}:匹配其前面的字符至少m次,至多n次
   \{0,n\}:至多n次
   \{m,\}:至少m次,多了不限
   \{m\}:精确匹配m次

如a\{1,3\}b:ab,aab,aaab

wKiom1MR0VKy8nncAAAq4d6nkX8224.jpg

 
\<:锚定词首,用法格式:\<pattern,也可用\b:\bpattern
\>:锚定词尾,用法格式:pattern\>
   \b:pattern\b或\<pattern>\:匹配单词
\(\):分组,用法格式:\(pattern\)

   如:

   ab任意字符ab:ab.*ab

   a.b任意字符a.b:\(a.b).*\1

 

5.grep的常见选项

    --color=auto:自动加颜色

        -v:反向选取,只显示不符合模式的行

        -o:只显示被模式匹配到的字符串,而不是整个行

        -A #:显示匹配到的行时,顺带显示其后面的#个行

        -i:匹配是不区分字符大小写

        -B #:前面的#行

        -C #:后面的#行

        -E:使用拓展的正则表达式

 

关于grep的综合使用,以及扩展正则表达式,将在后续博文中介绍。。

 


 

本文出自 “Xlows” 博客,请务必保留此出处http://xlows.blog.51cto.com/5380484/1365605

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Linux基础(三)--grep的使用和基本正则表达式》技术文章,《Linux基础(三)--grep的使用和基本正则表达式》详细使用和说明,有时《Linux基础(三)--grep的使用和基本正则表达式》可能不完善、敬请谅解!如果《Linux基础(三)--grep的使用和基本正则表达式》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片