Linux基础命令之: Linux常用命令
8.grep
(1)作用。
在指定文件中搜索特定的内容,并将含有这些内容的行标准输出。
(2)格式。
grep[选项]格式[文件及路径]
其中的格式是指要搜索的内容格式,若缺省“文件及路径”则默认表示在当前目录下搜索。
(3)常见参数。
grep主要选项参数如表2.18所示。
表2.18 grep命令常见参数列表
选项 | 参数含义 |
-c | 只输出匹配行的计数 |
-I | 不区分大小写(只适用于单字符) |
-h | 查询多文件时不显示文件名 |
-l | 查询多文件时只输出包含匹配字符的文件名 |
-n | 显示匹配行及行号 |
-s | 不显示不存在或无匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
(4)使用实例。
[root@localhosttest]#grephello/-r
Binaryfile./iscit2005/备份/iscit2004.sqlmatches
./ARM_TOOLS/uClinux-Samsung/linux-2.4.x/Documentation/s390/Debugging390.txt:helloworld$2=0
…
在本例中,“hello”是要搜索的内容,“/-r”是指定文件,表示搜索根目录下的所有文件。
(5)使用说明。
n 在缺省情况下,“grep”只搜索当前目录。如果此目录下有许多子目录,“grep”会以如下形式列出:“grep:sound:Isadirectory”。这会使“grep”的输出难以阅读。但有以下两种解决的方法。
①明确要求搜索子目录:grep–r(正如上例中所示);
②忽略子目录:grep-dskip。
n 当预料到有许多输出时,可以通过管道将其转到“less”(分页器)上阅读:如greph./-r|less分页阅读。
n grep特殊用法。
greppattern1|pattern2files:显示匹配pattern1或pattern2的行;
greppattern1files|greppattern2:显示既匹配pattern1又匹配pattern2的行;
小知识 | 在文件命令中经常会使用pattern正则表达式,它是可以描述一类字符串的模式(Pattern),如果一个字符串可以用某个正则表达式来描述,就称这个字符和该正则表达式匹配。这和DOS中用户可以使用通配符“*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作等。 正则表达式的主要参数有如下 ·:忽略正则表达式中特殊字符的原有含义; ·^:匹配正则表达式的开始行; ·$:匹配正则表达式的结束行; ·:从匹配正则表达式的行开始; ·>:到匹配正则表达式的行结束; ·[]:单个字符,如[A]即A符合要求; ·[-]:范围,如[A-Z],即A、B、C一直到Z都符合要求; ·。:所有的单个字符; ·*:所有字符,长度可以为0。 |
评论