首页 > 编程笔记

Linux grep命令的用法

grep 命令能够在一个或多个文件中搜索某一特定的字符模式,也称为正则表达式,一个模式可以是单一的字符、字符串、单词或句子。

正则表达式是描述字符串的一个模式,正则表达式的构成模仿了数学表达式,通过使用操作符将较小的表达式组合成一个新的表达式。正则表达式可以是一些纯文本文字,也可以是用来产生模式的一些特殊字符。

grep 命令支持如表 1 所示的几种正则表达式的元字符(也就是通配符)。

表 1 正则表达式的通配符
选 项 含 义
c* 将匹配 0 个(即空白)或多个字符 c (c 为任一字符)
. 将匹配任何一个字符,且只能是一个字符
[xyz] 匹配方括号中的任意一个字符
[^xyz] 匹配除方括号中字符外的所有字符
^ 锁定行的开头
$ 锁定行的结尾

grep 命令是在每一个文件或中或特定输出上搜索特定的模式,当使用 grep 时,包含指定字符模式的每一行内容,都会被打印(显示)到屏幕上,但是使用 grep 命令并不改变文件中的内容。

grep 命令的语法格式如下:

[root@bogon ~]# grep [选项] 模式 文件名


grep 命令常用的选项以及各自的含义如表 2 所示。

表 2 grep命令常用选项及含义
选 项 含 义
-c 只列出文件中包含模式的行数
-i 忽略模式中的字母大小写
-l 列出带有匹配行的文件名
-n 在每一行的最前面列出行号
-v 列出没有匹配模式的行
-w 把表达式当作一个完整的单字符来搜寻,忽略那些部分匹配的行

优秀文章