`
贫僧不吃肉
  • 浏览: 62351 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Just Unix基础重温之 grep、egrep、fgrep

阅读更多

本文属贫僧不吃肉原创,欢迎转载,转载请注明出处 http://never-say-never.iteye.com/blog/851514

 

1.相关背景

1.1 Filter(过滤器),是指一些程序,他们从标准输入读取数据,对数据进行操作,然后将产生的结果输出到标准输出。他们是非交互的,即没有提示或等待输入。

 

1.2检索过滤器:  grep fgrep egrep

      这些命令检索与targetpattern相匹配的文本,我们可以用它们从文件中提取信息、从一个命令的输出数据中检索与某一项相关的行为以及查找包含特定单词的文件。

 

1.3 区别

grep:最常用。可以检索目标(一个或多个单词或正则表达式)

fgrepfixed grep):不能使用正则表达式,可以检索多个目标,等同于grep –f

egrepextended grep):支持更丰富的正则表达式,而且支持多目标检索,他比grep快得多,等同于grep -e

 

 

 

 

2.grep基本用法

 

2.1从一个或多个文件中检索包含某个target的行,然后打印所有匹配的行。

 

先打开一个文件看一下内容

$ cat daily_log

 

just for myself

I just love u

end

 

 

在这个文件里查找包含“just”的行

$ grep just daily_log

 

just for myself

I just love u

 

2.2 grep检索含空格的短语

 

$ grep “just love” daily_log

 

I just love u

 

注意:如果justlove出现在不同的行,grep就不会匹配它们,因为grep一次只检索一行。

 

2.3当只记得关键字,不记得文件名的时候,怎么办呢?

 

$ grep just *

 

daily_log: just for myself

daily_log: I just love u

other_file: just unix

 

3.grep的一些常用通道

 

3.1 grep是区分大小写的

$ grep –i JUST daily_log    $ grep –i just daily_log  不同

说明:使用-iignore case)可以忽略字母大小写

 

3.2 grep -n列出检索目标所在的行号(line-number)

 

$ grep –n just daily_log

 

1: just for myself

2: I just love u

 

3.3 grep –l (list)不打印匹配的行,而打印包含目标的文件名

 

$ grep –l just *

 

daily_log

other_file

 

3.4 转换方向(-v,转换方向是grep挺有意思的一个实现,即和正常情况相反,grep输出未包含target的行或文件

 

$ grep –v just daily_log

 

end

 

$ grep –v end daily_log

 

just for myself

I just love u

 

 

3.5 grep –c ,统计匹配的行总数(count),不显示行信息

 

$ grep –c just daily_log

 

2

 

$ grep –c end daily_log

 

1

 

 

 

 

 

 

 

参考文献:

1. “UNIX手册之类的名字吧,在图书馆看的,忘了名字,后来也没找到书。

2.Linux常用指令速查手册》,杨艳玲,化学工业出版社

3.UNIX实用教程第五版》,Paul K. Andersen, 人民邮电出版社

 

 

 

 

 

 

 

3
1
分享到:
评论

相关推荐

    linux grep与正则表达式使用介绍

    Unix的grep家族包括grep、egrep和fgrep。Windows系统下类似命令FINDSTR。 grep egrep fgrep(不支持正则表达式) grep需要标准输入 因此常常位于管道右侧 命令参数: –color=auto: 对匹配到的文本着色显示 -v: 显示不...

    Linux Grep命令使用的详细介绍

    Unix的grep家族包括grep、 egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是 fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中...

    正则表达式grep[global search regular expression]

    Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的...

    grep awk sed调研文档

    Grep家族包括Grep、 eGrep和fGrep。eGrep和fGrep的命令只跟Grep有很小不同。 eGrep是Grep的扩展,支持更多的re元字符, fGrep就是 fixed Grep或fast Grep,它们把 所有的字母都看作单词,也就是说,正则表达式中的元...

    unix的grep命令

    unix下学习grep命令不可多得的资料,决定原创,绝对值的你拥有!!

    grep命令调研文档

    Grep家族包括Grep、 eGrep和fGrep。eGrep和fGrep的命令只跟Grep有很小不同。eGrep是Grep的扩展,支持更多的re元字符, fGrep就是 fixed Grep或fast Grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元...

    linux grep 2.5.1源码

    grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep

    Linux中grep和egrep命令详解

    rep / egrep 语法: grep [-cinvABC] ‘word’ filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 -v :打印不符合要求的行 -A :后跟一个数字(有无空格都可以),...

    linux匹配命令awk、grep、sed简介

    awk本身就是UNIX/Linux的一种编程语言,用于处理数据和生成报告。...grep家族有grep,egrep,fgrep。Linux使用的GNU grep,基本包含了上述三个grep命令 sed全称stream editor(流编辑器),是非交互式编辑器,能执行

    GrepforWindowsv2.5.4文字查找软件

    grep-2.5.4-setup.exe grep (global search regular [removed]RE) and print out the line,全面搜索正则表达式并把行打印出来)是...Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。eg

    grep:将 Grep 搜索工具与 Vim 集成的插件

    grep插件将grep之类的实用程序(grep,fgrep,egrep,agrep,findstr,silver searcher(ag),ripgrep,ack,git grep,sift,platinum searcher和通用代码grep)集成在一起,并允许您搜索模式在一个或多个文件中...

    Linux系统指令:文件内容查询工具Grep

    它功能更强,可以通过-G、-E、-F命令行选项来使用eGrep和fGrep的功能。Grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。Grep可用于...

    浅谈Linux grep与正则表达式

    通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。egrep为扩展的grep,fgrep则为快速grep(固定的字符串来对文本进行搜索,不支持正则表达式的引用但是查询极为快速)。grep是Linux文本处理三剑客之一。 ...

    Linux入门(Ubuntu)之文本三剑客(grep)与正则表达式

    egrep是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义。 在关键字的显示方面,grep 可以使用 –color=auto...

    文本三剑客之grep及正则表达式 -.pdf

    1. Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。 grep全称是Global Regular ...5. fgrep=grep -F:不支持正则表达式,可以过滤普通的字符串

    【shell】grep命令

    希望各位不要白piao,点个赞或者刷个评论再走,还有【禁止转载】,抄袭转载必究...**grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。**egrep是grep的扩展,支持更多的re元字符, fgrep就是fix

    grep用法,grep用法,grep用法,grep用法,grep用法,

    grep用法,grep用法,grep用法,grep用法,grep用法,grep用法,grep用法,

Global site tag (gtag.js) - Google Analytics