grep的作用是显示匹配一个或多个模式的文本行。时常会作为管道(|)的第一步,以便对匹配的数据作进一步处理。grep常用于查找和替换文本的。在传统上,grep有3个版本:grep、egrep(扩展grep)和fgrep(快速grep)。现在grep已经整合成一个,选项:-E和-F分别对应egrep和fgrep。另外还有非标准的agrep。

对于压缩文件,则应使用zgrep, zegrep以及zfgrep,当然对于未压缩文件的也可以使用。功能上类似于grep。grep在Unix、Linux以及windows上均有,这里 仅对Linux上的grep进行简单略述。grep常结合正则表达式使用,但这里并不讲述正则表达式的内容。

语法:

1、grep [OPTIONS] PATTERN [FILE...]

2、grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

示例:

1、使用grep查看root的登录信息行

$ who | grep -F root

$ who | grep root

2、不显示以a开头的行

$ ls -l | grep -v '^a'

3、忽略模式匹配大小写

$ grep -i ‘abc’ file.txt

grep默认情况下区分大小写的。

4、将/dev/null作为第二个文件参数使用

$ grep 'abc$' file.txt /dev/null

5、使用文件路径递归查找与模式匹配的文件的文件名

$ grep -ril ‘abc’ /etc/passwd

6、高亮匹配字

$ man grep | grep  --color -e --color

常用选项:

-E 使用正则表达式进行匹配。grep -E可取代传统的egrep。

-F 使用固定字符串进行匹配。grep -F可取代传统的fgrep命令。

-e PATTERN, --regexp=PATTERN 可指定参数为模式,用于防止以“-”开头的模式被解释为命令选项。多模式可使用换行字符分隔。

-f FILE, --file=FILE 从FILE文件读取模式做匹配。

-i 模式匹配时忽略字母大小写差异。

-w 只显示单词严格匹配的行。

-x 只显示整行严格匹配的行。

-s 不显示错误信息。通常与-q并用。

-v 显示不匹配模式的行。

-b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。

-n 在输出前加上匹配串所在行的行号(文件首行行号为1)。

-c 只显示匹配行的数量。

-h 在查找多个文件时,指示grep不要将文件名加入到输出之前。

-l 列出匹配模式的文件名称,而不是打印匹配的行。

-q 静默地。如果模式成功匹配,则grep会成功的离开,而不讲匹配的行写入标准输出;否则即是不成功。

-r 递归搜索目录

PS:

在最后的100行中查找:tail -n 100 filename | grep XXX

从前往后查找: cat xxx | grep xx

从后往前查找:tac xxx | grep xx

grep的使用【转】的更多相关文章

  1. grep 查找bash脚本中的注释代码

    出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...

  2. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  3. linux中grep的应用

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  4. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  5. 4-4 grep及正则表达式

    1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字 ...

  6. grep 命令过滤配置文件中的注释和空行

    grep 用法 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. ...

  7. sed awk grep三剑客常用

    sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...

  8. awk命令和grep命令的使用

    1.遇到需求:用ping命令去检测系统网络延迟 跑 ping baidu.com -c 3,想要直接得到平均延迟. ping baidu.com -c 3 | grep rtt | awk -F \/ ...

  9. grep 命令

    简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...

  10. 使用git grep进行git搜索

    1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo  显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...

随机推荐

  1. BZOJ 3307 雨天的尾巴 (树上差分+线段树合并)

    题目大意:给你一棵树,树上一共n个节点,共m次操作,每次操作给一条链上的所有节点分配一个权值,求所有节点被分配到所有的权值里,出现次数最多的权值是多少,如果出现次数相同就输出最小的. (我辣鸡bzoj ...

  2. sql删除注意的问题

    老大骂你都是有原因的,基础要打好!!!! SQL关于删除的三个语句:DROP.TRUNCATE. DELETE 的区别. DROP test; 删除表test,并释放空间,将test表删除的一干二净 ...

  3. 一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文

    一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文. 2.注意看,一次HTTP请求,是包括这两部分的

  4. glove入门实战

    前两天怒刷微博,突然发现了刘知远老师分享的微博,顿时眼前一惊.原Po例如以下: http://weibo.com/1464484735/BhbLD70wa 因为我眼下的研究方向是word2vec.暗自 ...

  5. poj1363——Rails

    Description There is a famous railway station in PopPush City. Country there is incredibly hilly. Th ...

  6. legend---十一、thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里

    legend---十一.thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里 一.总结 一句话总结:执行的条件其 ...

  7. legend---十、thinkphp中如何进行原生sql操作

    legend---十.thinkphp中如何进行原生sql操作 一.总结 一句话总结:query方法和execute方法 Db类支持原生SQL查询操作,主要包括下面两个方法: query方法 quer ...

  8. 如何做到Ubuntu14.04下的mongdb远程访问?(图文详解)

    不多说,直接上干货! 本教程详细指导大家如何开启并设置用户权限.MongoDB默认是没有开启用户权限的,如果直接在公网服务器上如此搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了. 其实 ...

  9. win10+ubuntu的坑

    最近几天考虑了诸多,包括分区大小,使用烧写工具等等. 但是实际动手还是遇到了彩蛋.rufus是知乎的大神推荐的,因为UUI貌似有些版本安装时候有些问题. 而rufus的界面有诸多选项.ubuntu的图 ...

  10. jqGrid系列知识

    1.获取选中到行的ID var rowKey = jQuery(grid_selector).getGridParam("selrow"); 2.获取选中行除ID之外的数据 var ...