您的位置:首页 > 运维架构 > Linux

linux命令之grep用法

2013-09-22 04:04 323 查看
 grep是linux中很常用的一个命令,主要功能就是进行字符串数据的对比,能使用正则表达式搜索文本,并将符合用户需求的字符串打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。grep在数据中查找出一个字符串时,是以整行为单位来进行数据选取的。
(1)命令格式
  grep[cinvs]'patten'filename
(2)主要参数
-c:只输出匹配行的计数。
-i:不区分大小写(只适用于单字符)。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
(3)patten正则表达式主要参数
\:转义字符,忽略正则表达式中特殊字符的原有含义。
^:匹配以某个字符串开始的行。
$:匹配以某个字符串结束的行。
\<:从匹配正则表达式的行开始。
\>:到匹配正则表达式的行结束。
[]:在[]内个某单个字符,如[A]即A符合要求。
[-]:属于[-]所标记的范围字符,如[A-Z],即A、B、C一直到Z都符合要求。
.:表示一定有1个任意字符。
*:重复前面0个或多个字符。
  关于正则表达式的参数还有很多,这里这是列出很少的一部分,具体大家可以参照正则表达式的详解。
(4)实例
  要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。
$ls-l|grep'^a'
通过管道过滤ls-l输出的内容,只显示以a开头的行。
$grep'test'aabbcc
显示在aa,bb,cc文件中匹配test的行。
$grep'\{5\}'aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$grep'w\(es\)t.*'aa
显示所有包含west,且之后含有零个或多个任意字符的行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: