`
zjx2388
  • 浏览: 1334082 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

grep,egrep,fgrep用法

    博客分类:
  • J2EE
阅读更多

grep (global regular expression print) 是一种文本过滤程序,按照正则表达式的规则,筛选出含有指定模式字符串的文本行。

1.作用

grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式

grep [options] PATTERN FILE

3.主要参数

grep [options]
[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:
\    忽略正则表达式中特殊字符的原有含义。
^ 匹配正则表达式的开始行。  
$ 匹配正则表达式的结束行。  
< 从匹配正则表达式的行开始。  
> 到匹配正则表达式的行结束。  
[ ] 单个字符集合,如[ABCD]即A,B,C,D任一字符符合要求 。  
[ - ] 范围,如[A-Z],即A、B、C一直到Z都符合要求 。
. 所有的单个字符。  
*    重复字符,长度可以为0。
  


正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。

4.应用实例

grep -n _DATE_ *.c 在所有后缀为.c文件中查找含有正则表达式_DATE_的行,并打印行号。

grep -v '[Dd]isable' device.stat>device.active 将文件device.stat中取消所有含有指定模式的行,生成新文件device.active

grep -i richard telnos 在文件telnos中检索字符串richard,不顾字母的大小写。

grep '[0-9]*' chapter1 由于[0-9]*与空字符串匹配,上述命令打印出charpter1文件中所有行,而不是仅打印出含有数字的行。正确的用法是 grep '[0-9][0-9]*' chapter1egrep '[0-9]+' chapter1

查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有时IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]{3 }.[0-0{3}。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点.

$grep '[0-9 ]{3 }.[0-0{3}.' ipfile

ipfile的内容
333.225.332.235 123.456.789.123 234.567.889.235
输出结果
333.225.332.235 123.456.789.123 234.567.889.235

$grep '[0-9 ]{3 }.[0-9{3}.' -c ipfile
输出结果
3
$grep '[0-9 ]{3 }.[0-9{3}.' -l ipfile
输出结果
ipfile
$grep '[0-9 ]{3 }.[0-9{3}.' -n ipfile
输出结果
1:333.225.332.235 2:123.456.789.123 3:234.567.889.235

补充说明,grep家族还包括fgrep和egrep 。fgrep是fix grep,允许查找字符串 而不是一个模式,运算速度快,适合于从大量数据中进行检索;egrep是扩展grep ,支持基本及扩展的正则表达式,可用()及|等,但不支持q模式范围的应用及与之相对应的一些更加规范的模式。

 

以上内容均从网上转载.

分享到:
评论

相关推荐

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

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

    linux grep 2.5.1源码

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

    grep正则表达使用简介

    在 Unix 系统中,grep 有三个变体:grep、egrep 和 fgrep。egrep 是 grep 的扩展,支持更多的正则表达式元字符;fgrep 即 fixed grep,它不解析正则表达式,而是将搜索模式视为固定字符串。 在 Linux 中,通常使用...

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

    格雷普 将各种 grep 之类的搜索工具与 Vim 集成的插件。 grep插件将grep之类的实用程序(grep,fgrep,egrep,... 要将此插件与 grep 一起使用,您将需要 grep、fgrep 和 egrep 实用程序。 要使用grep递归搜索文件,您

    Grep学习笔记.pdf

    总之,Grep是一款极其强大且灵活的文本搜索工具,熟练掌握其使用方法能够极大地提升数据处理效率。无论是基础的正则表达式应用,还是复杂的多文件搜索,Grep都能轻松应对,是每个程序员和系统管理员的必备技能之一。

    【shell】grep命令

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

    grep用法总法

    等同于使用 `egrep` 命令。 - **-F**:将每个模式视为固定字符串而非正则表达式。等同于使用 `fgrep` 命令。 - **-i**:忽略大小写差异。 - **-v**:反转选择,即显示不匹配模式的行。 - **-c**:只输出匹配行的数量...

    浅谈Linux grep与正则表达式

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

    grep使用指南 青蛙书

    对于初学者来说,这部分内容非常实用,能够帮助他们快速掌握正则表达式的使用方法。 #### 四、`grep` 基础 本章主要讲解了 `grep` 的基本用法,包括如何指定搜索模式、文件名等参数。此外,还介绍了如何使用 `grep...

    Linux Grep命令使用的详细介绍

    在Unix系统中,grep家族还包括了egrep和fgrep两个变体,egrep提供了对更多正则表达式元字符的支持,而fgrep则是将所有字符视为固定字符串,不考虑元字符的特殊含义。 在Linux中,通常使用的是GNU版本的grep,它拥有...

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

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

    Grep Pocket Reference

    书中详细介绍了`grep`的基本用法,包括如何指定搜索模式、如何使用选项来修改搜索行为,以及如何处理输入和输出。例如,使用`-i`选项可以使搜索不区分大小写,`-v`选项可以反转匹配,即打印出不匹配的行。 ### `...

    grep命令调研文档

    这些例子展示了 Grep 的基础使用方法。接下来,我们将进一步探讨 Grep 的核心——正则表达式的使用。 #### 三、正则表达式 正则表达式是 Grep 的灵魂所在,它允许用户使用一系列符号和字符来定义搜索模式。下面是...

    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

    unix的grep命令

    2. **Egrep**:扩展`grep`,支持更广泛的正则表达式特性,包括扩展正则表达式(ERE)。 3. **Fgrep**:快速`grep`,用于精确字符串匹配,而不是模式匹配。 #### 三、命令格式 `grep`的一般格式为: ``` grep [选项] ...

    grep-find命令详解

    除了基本的grep命令外,还有egrep和fgrep这两个变体: - `egrep`:等同于`grep -E`,使用扩展的正则表达式。 - `fgrep`:等同于`grep -F`,按固定字符串搜索,不解释正则表达式中的特殊字符。 使用`grep`时,常见...

    linuxgrep命令.pdf

    - 可以结合 egrep(grep -E)使用扩展正则表达式,或使用 fgrep(grep -F)来进行文本匹配,不解释正则表达式。 7. 与管道结合使用: - grep 命令经常与其他命令一起使用,如 ps 命令配合 grep 搜索特定进程,cat...

Global site tag (gtag.js) - Google Analytics