[AD] -- 下方为内容广告,点击支持作者,想过滤广告? -- [AD]
grep [option] pattern file
[N] 表示数字
| 参数 | 含义 |
|---|---|
| -A [N] –after-context=[N] | 多显示符合条件的 后 几行 |
| -B [N] –before-context=[N] | 多显示符合条件的 前 几行 |
| -c –count | 显示计算符合模式的行数。 |
| -C [N] –context=[nN] -[N] | 多显示该行之前后的内容。 |
| -d [recurse | read | skip] | 查找的是文件夹而非文件时的操作,recurse 递归全部文件 |
| -e | 指定模式,可以保护容易与参数混淆的模式,如 grep -e -e file |
| -E | 使用拓展的模式 egrep |
| -f [文件名] | 指定模式文件,适合有多个模式时 |
| -h –no-filename | 不显示文件名 |
| -H –with-filename | 显示文件名(默认显示) |
| -i –ignore-case | 忽略大小写 |
| -l –file-with-matches | 显示符合模式的文件的名称 |
| -L –files-without-match | 显示不符合模式的文件的名称 |
| -n –line-number | 显示行号 |
| -q –quiet –silent | 不显示任何结果(根据返回的状态判断结果) |
| -r –recursive | 同 -d recurse |
| -s –no-messages | 不显示错误信息。 |
| -v –revert-match | 显示不符合模式的所有行的内容 |
| -V –version | 显示版本 |
| -w –word-regexp | 仅选择能精确匹配整个单词的行 |
| -x –line-regexp | 仅选择能精确匹配整行内容的行 |
| -y | 同 -i 忽略大小写 |
中文翻译 man 相关部分,链接 英文就直接 man grep 吧
建议用引号包裹
| 表达式 | 含义(要搜索前四个符号都要加斜杠,. 就要\.) |
|---|---|
| ^ | 开始 |
| $ | 结束 |
| . | 任意一个非换行字符 |
| * | 前一个字符表达的意思的一个或多个 |
| .* | 任意字符 |
| [] | 范围内 |
| [^] | 范围外 |
| \w | 大小写字母和数字 = [A-Za-z0-9]中文也行 |
| \W | 非字母数字,[^A-Za-z0-9] |
| \b | 锁定,出现在前就前面不允许出现其他内容,前后都有等同与-w |
\< |
锁定单词的开始,同\b,与其混用会错 |
\> |
锁定单词的结束,同\b,与其混用会错 |
x\{m\} |
x 出现正好 m 次 |
x\{m,\} |
x 出现至少 m 次 |
x\{m,n\} |
x 出现 m~n 次 |
| 表达式(模式串整体要多加一层[]) | 含义 |
|---|---|
| [:alnum:] | 文字数字 |
| [:alpha:] | 文字 |
| [:digit:] | 数字 |
| [:xdigit:] | 十六进制数字(0-9,a-f,A-F) |
| [:graph:] | 非空字符(非空格、控制字符) |
| [:lower:] | 小写字符 |
| [:upper:] | 大写字符 |
| [:cntrl:] | 控制字符\t 之类的 |
| [:print:] | 非空字符(包括空格等可以打印出来的) |
| [:punct:] | 标点符号 |
| [:space:] | 所有空白字符(新行,空格,制表符) |
拓展了模式串表达的 grep
| 参数 | 含义 |
|---|---|
+ |
匹配一个或者多个先前的字符 |
| ? | 匹配0个或者多个先前字符. |
a|b|c |
匹配a或b或c |
| () | 字符组, 如: a(t |
| (..)(..)\1\2 | 模板匹配. \1代表前面第一个模板, \2代第二个括弧里面的模板. |
| x{m,n} | =x\{m,n\} |
[AD] -- 下方为内容广告,点击支持作者,想过滤广告? -- [AD]