grep
相信 g r e p是U
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,
支 持 基 本 及 扩 展 的 正 则 表 达 式 。
F g r e p:快速g r e p。允许查找字符串而不是一个模式。不要误解单词f
a s t,实际上它与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 显示不包含匹配文本的所有行。