blog » Linux » grep 命令学习总结

grep 命令学习总结

grep命令用于在指定文件中查找与模式匹配的行,并将匹配的行显示在标准输出上。如果没有指定文件,则从标准输入中读取。当在多个文件中进行查找中,将在每一行输出之前加上文件名。在搜索的文件名中允许使用通配符。

语法:

grep [参数] 查找模式 文件名 [文件名]

参数:

-c:
只显示匹配行的行数

-i:
匹配时不区分大小写,默认情况下匹配时区分大小写

-h:
在多个文件中查找时,输出行前不显示文件名

-n:
在输出前加上匹配串所在行的行号(文件首行行号为1)

-v:
只显示不包含匹配串的行。

-f filename:
从指定文件中获取搜索模式,每行一个搜索模式项

例子:

[root@localhost logs]# grep AbstractController *.log

翻译:在当前目录下的所有log文件中中查找AbstractController字符串

注意:搜索的字符串如果没有空格则可以不用引号,如有引号则需要空格,后面有例子。

例子:

[root@localhost etc]# grep mysql /etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

翻译:将系统帐号中文件包含mysql的行显示出来。

当搜索模式中包含空格是,要把搜索模式用单引号括起来。

例子:

[root@localhso user1]# cat > dialog

your name is:

linux

<Ctrl+d>
[root@localhost user1]# grep 'your name' dialog

your name is:

在有多个搜索模式时,可以将这些搜索模式写入文件中,利用-f参数从文件中读取搜索模式项。

例子:

首先把搜索模式写入mode.txt文件中:

[root@localhost user1]# cat > mode.txt

name

lin*

<Ctrl+d>

接下来使用该文件中的模式进行搜索:

【root@localhost user1】# grep –f mode.txt dialog

your name is:

linux

[整理自网络]

This post has already been read 1041 times!

Related posts

RSS 2.0 | leave a response | trackback

发表评论