Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Windows98/ME > shell学习笔记 NO.10(《UNIX和shell程序设计权威教程》)
【标  题】:shell学习笔记 NO.10(《UNIX和shell程序设计权威教程》)
【关键字】:shell,NO.10,UNIX,shell
【来  源】:http://www.cublog.cn/u/26431/showart.php?id=207995

shell学习笔记 NO.10(《UNIX和shell程序设计权威教程》)

Your Ad Here

第十节

grep

grep表示全局正则表达式打印(global regular expression print)。用来对输入文件中匹配指定正则表达式的所有行进行搜索,并将之写入标准输出文件。

一、  操作

要编写操作正确的脚本,必须要理解grep实用程序的工作方式。对标准输入的每一行,grep执行如下操作:

a.     把下一输入行复制到模式空间中。模式空间是指可保存一个文本行的缓冲区。

b.     对模式空间应用正则表达式

c.     如果有匹配存在,该行从模式空间被复制到标准输出。

Grep实用程序对输入的每一行重复这三个步骤

 

1.       grep流程图

2.       grep操作示例

Ø         grep是一个搜索实用程序:它只能搜索匹配一个正则表达式的一行的存在性。

Ø         grep可以对一行采取的唯一动作是把它发送到标准输出。如该行不匹配,则不打印。

Ø         行的选择只基于正则表达式。行编号或其他准则不能用于选择行。

Ø         grep是一个过滤器,它可被用在一个管道的左边或右边。

除了上面列出的几点,下面的grep限制也必须时刻牢记:

Ø         grep不能用于增加、删除和修改行

Ø         grep不能用于只打印行的一部分

Ø         grep不能只读文件的一部分

Ø         grep不能基于前面的内容或下一行来选择一行。只有一个缓冲区,只保留当前行。

 

二、  grep家族

grep家族中有三个实用程序:grepegrepfgrep

grep:只支持数量有限的正则表达式。

fgrep:支持字符串模式,不支持正则表达式

egrep:支持大多数正则表达式,但不是全部

 

1.       grep家族选项

 

选项

解释

-b

在每行前加上所在文件块编号

-c

只打印匹配模式的行编号计数

-i

在匹配文本时忽略大小写

-l

打印至少有一行匹配模式的文件列表

-n

在每行前显示其行号

-s

哑模式。执行其功能,但抑制所有的输出

-v

逆向输出。打印不匹配模式的行

-x

只打印完全匹配模式的行

-f file

要匹配的字符串列表在文件file

 

2.       grep家族表达式

 

原子

grep

fgrep

egrep

操作符

grep

fgrep

egrep

字符

序列

 

重复

除了?都可以

 

*+

 

替换

 

 

 

^$

 

 

先后引用

 

 

保存

 

 

grep实用程序中的表达式往往很复杂,经常把几个原子和/或运算符结合到一个大的表达式中。当运算符和原子被结合时,它们通常被括在单引号或双引号内。从技术角度讲,引号只有在使用空格或其他对grep有特殊意义的字符时才是必须的。

3.       grep

文件匹配的最初实用程序grep可处理大部分正则表达式。再不需要对表达式分组或使用重复来匹配的情况下影使用它。它是grep家族唯一允许保存匹配结果以待后用的成员。

4.       快速grep

如果搜索规则只需要序列表达式,则快速grep是最好的选择。

5.       扩展grep

扩展grep是三种grep实用程序中功能最强大的。虽然没有保存选项,但它允许更复杂的模式。

美白方法秘方美白产品如何皮肤美白面膜自制美白面膜康本六招教你对抗冬季严寒:【上一篇】
shell学习笔记 NO.9(《UNIX和shell程序设计权威教程》):【下一篇】
【相关文章】
  • shell分类
  • shell学习笔记 NO.6(《UNIX和shell程序设计权威教程》)
  • Linux/Unix基本使用方法
  • 无根的根:无名师的Unix心传
  • 如何通过LoadRunner监控Linux和Unix操作系统的资源状况
  • shell学习笔记 NO.5(《UNIX和shell程序设计权威教程》)
  • 一个杀探测22端口密码shell
  • csh shell编程入门
  • UNIX系统的主要服务
  • UNIX 技巧: 借助 UNIX 成为更优秀的博客
  • 【随机文章】
  • 如何使用rsh/tar快速克隆Linux服务器
  • Java 编译全解
  • New features in C# 3.0
  • FreeBSD 中文转码(zh-hztty-2.0)
  • svchost.exe 进程详解
  • 布尔运算的处理
  • exercises
  • Sql与Asp.Net数据类型对应(引用MsDN)
  • 用SDL写游戏
  • 痘痘的位置脸上长痘痘的原因脸上长痘痘怎么办脸上有痘康本不让脸颊痘痘成为青春的遗憾
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.