grep

grep

相信 g r e pU N I X L I N U X中 使 用 最 广 泛 的 命 令 之 一 。g r e p( 全 局 正 则 表 达 式 版 本 ) 允 许对 文 本 文 件 进 行 模 式 查 找 。 如 果 找 到 匹 配 模 式 ,g r e p打 印 包 含 模 式 的 所 有 行 。g r e p支持基本正则表达式,也支持其扩展集。g r e p有三种变形,即:

G r e p :标准g r e p命令,本章大部分篇幅集中讨论此格式。

E g r e p :扩展g r e p, 支 持 基 本 及 扩 展 的 正 则 表 达 式 , 但 不 支 持\ q模 式 范 围 的 应 用 , 与 之 相对应的一些更加规范的模式,这里也不予讨论。

F g r e p:快速g r e p。允许查找字符串而不是一个模式。不要误解单词f a s t,实际上它与g r e p速度相当。

在本章中我们将讨论:
• grep(参数)选项。
匹配g r e p的一般模式。
只匹配字母或数字,或两者混用。匹配字符串范围。

实 际 上 应 该 只 有 一 个 g r e p 命 令 , 但 不 幸 的 是 没 有 一 种 简 单 形 式 能 够 统 一 处 理g r e p的三种变形,将之合而为一,并保持g r e p单模式处理时的速度。G N U g r e p虽 然 在 融 合 三 种 变 形 上 迈 进了一大步,但仍不能区分元字符的基本集和扩展集。

 grep

g r e p一般格式为:
grep [选项]基本正则表达式[文件]这里基本正则表达式可为字符串。

双引号引用

g r e p命 令 中 输 入 字 符 串 参 数 时 , 最 好 将 其 用 双 引 号 括 起 来 。 例 如 :“m y s t r i n g ”。这样做有两个原因,一是以防被误解为s h e l l 命 令 , 二 是 可 以 用 来 查 找 多 个 单 词 组 成 的 字 符 串 , 例 如 :

j e t p l a n e”, 如 果 不 用 双 引 号 将 其 括 起 来 , 那 么 单 词p l a n e 将 被 误 认 为 是 一 个 文 件 , 查 询 结 果将返回“文件不存在”的错误信息。

在调用变量时,也应该使用双引号,诸如: grep$MYV AR”文件名,如果不这样,将没有返回结果。

在调用模式匹配时,应使用单引号。

 grep选项

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


 

posted on 2013-11-01 19:15  you Richer  阅读(233)  评论(0编辑  收藏  举报