在Linux中,grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。

语法
| 
					 1  | 
						grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]  | 
					
参数说明
| 参数 | 说明 | 
| -a, text | 不要忽略二进制的数据 | 
| -A<显示行数>, after-context=<显示行数>  | 
除了显示符合范本样式的那一列之外,并显示该行之后的内容 | 
| -b, byte-offset | 在显示符合样式的那一行之前,标示出该行第一个字符的编号 | 
| -B<显示行数>, before-context=<显示行数>  | 
除了显示符合样式的那一行之外,并显示该行之前的内容 | 
| -c, count | 计算符合样式的列数 | 
| -C<显示行数>, -<显示行数>, context=<显示行数>  | 
除了显示符合样式的那一行之外,并显示该行之前后的内容 | 
| -d <动作>, directories=<动作>  | 
指定要查找目录时,必须使用该参数,否则grep指令将回报信息并停止动作 | 
| -e<范本样式>, regexp=<范本样式>  | 
指定字符串做为查找文件内容的样式 | 
| -E, extended-regexp | 将样式为延伸的正则表达式来使用 | 
| -f<规则文件>, file=<规则文件>  | 
指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式 | 
| -F, fixed-regexp | 将样式视为固定字符串的列表 | 
| -G, basic-regexp | 将样式视为普通的表示法来使用 | 
| -h, no-filename | 在显示符合样式的那一行之前,不标示该行所属的文件名称 | 
| -H, with-filename | 在显示符合样式的那一行之前,表示该行所属的文件名称 | 
| -i, -y, --ignore-case | 忽略字符大小写 | 
| -l, file-with-matches | 列出文件内容符合指定的样式的文件名称 | 
| -L, files-without-match | 列出文件内容不符合指定的样式的文件名称 | 
| -n, line-number | 在显示符合样式的那一行之前,标示出该行的列数编号 | 
| -o, only-matching | 只显示匹配PATTERN 部分 | 
| -q, quiet或--silent | 不显示任何信息 | 
| -r, recursive | 同"-d recurse" | 
| -s, no-messages | 不显示错误信息 | 
| -v, invert-match | 显示不包含匹配文本的所有行 | 
| -V, version | 显示版本信息 | 
| -w, word-regexp | 只显示全字符合的列 | 
| -x --line-regexp | 只显示全列符合的列 | 
举例
| 
					 1 2 3 4 5 6  | 
						# 显示行号 grep -n root /etc/passwd # 递归查找 grep -r update /etc/acpi # 反向查找 grep -v test *test*  | 
					
原创文章禁止转载:技术学堂 » Linux文本过滤命令grep详解

技术学堂
					














