-

Linux常用命令之grep

Linux

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名,搜索的结果被输出到屏幕,不影响原文件内容。Linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

grep参数:
-a 不要忽略二进制数据;
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容;
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容;
-c 计算符合范本样式的列数;
-C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容;
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作;
-e<范本样式> 指定字符串作为查找文件内容的范本样式;
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式;
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式;
-F 将范本样式视为固定字符串的列表;
-G 将范本样式视为普通的表示法来使用;
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称;
-H 在显示符合范本样式的那一列之前,标示该列的文件名称;
-i 胡列字符大小写的差别;
-l 列出文件内容符合指定的范本样式的文件名称;
-L 列出文件内容不符合指定的范本样式的文件名称;
-n 在显示符合范本样式的那一列之前,标示出该列的编号;
-q 不显示任何信息;
-R/-r 此参数的效果和指定“-d recurse”参数相同,递归查找;
-s 不显示错误信息;
-v 反转查找;
-w 只显示全字符合的列;
-x 只显示全列符合的列;
-y 此参数效果跟“-i”相同;
-o 只输出文件中匹配到的部分。

grep格式:
grep match_pattern file_name

grep例子:
[cc lang=”bash” escaped=”true”][root@localhost ~]# grep ‘text’ ./ -r -n #递归查找当前目录并显示所在行号。
[root@localhost ~]# grep ‘text’ raykaeso.sql index.html #在多个文件中查找
[root@localhost ~]# grep ‘text’ -v raykaeso.sql #排除匹配文本行,剩下的所有行
[root@localhost ~]# grep ‘text’ -c raykaeso.sql #递归查找当前目录并统计出现的次数[/cc]

来源:Linux常用命令之grep

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注