在Linux中,grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
语法
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 | 只显示全列符合的列 |
举例
# 显示行号 grep -n root /etc/passwd # 递归查找 grep -r update /etc/acpi # 反向查找 grep -v test *test*
原创文章禁止转载:技术学堂 » Linux文本过滤命令grep详解