Linux:grep基本使用、与之配合的正则表达式

POSIX字符实体:[:实体名:]:

[:alpha:]、[:lower:]、[:upper:]:字母;小写字母;大写字母

[:digit:]、[:xdigit:]:十进制数字;十六进制数字

[:alnum:]:字母、数字

[:punct:]:标点符号

[:space:]:空白(空格、tab、新行)

[:graph:]:可打印字符,非控制字符,不不不不 包括空格!

[:print:]:可打印字符,非控制字符,包括空格、[::]、[::]、

[:cntrl:]:控制字符

几个模式:

-G 基本正则表达式模式:默认模式!: ^、$、.、*、[]、[^]、\w、\W、\<、\>、\(\)、x\{m\}、x\{m,\}、x\{m,n\}、\b..\b

-E 扩展模式:支持: +、?、||、(|)、x{m}、x{m,}、x{m,n} 扩展模式

-F 固定命名字符串模式:

-P perl扩展模式:

几个选项:

-i 忽略大小写:

-w 单词匹配,而不是字符匹配:相当于模式 '\b搜索的单词\b'

-x 整行匹配:

-v 反向匹配:

输入参数设定:

-e |--regexp:指定正则表达式

-f |--file:指定搜索的文件

-R |-r |--recursive:对目录下的文件进行轮询处理

--include=FILE_PATTERN:只搜索指定的文件

--exclude=FILE_PATTERN:排除搜索指定的文件

--exclude-from=FILE:根据FILE文件的内容 排除搜索指定的文件

--exclude-dir=DIR_PATTERN:排除搜索指定的文件夹

-c |--count :只打印匹配到的行数,而不是实际的行内容。注意:该选项针对每一个输入文件,均会有输出。可以配合-

选项统计不匹配的行数!

-l:只打印 符合 模式匹配的文件的名称

-L:只打印 不符合 模式匹配的文件的名称

-m n (n为非负整数)|--max-count n (n为非负整数):对每个文件处理到n个匹配后,就停止后面的处理

如何处理二进制文件:

--binary-files={binary|text|without-match}:如何处理二进制文件,默认是当作二进制文件处理。grep会打印一行信息,提示是否匹配到模式!

-a |--text |--binary-files=text:当作文本文件处理

-I | --binary-files=without-match:对二进制文件,认为是不匹配!

输出格式设定:

-o |--only-matching:只打印匹配到模式的字符串部分

-n |--line-number:打印行号:

-H 打印文件名:默认行为,可以通过 “-h”选项取消此行为

--color | --colour:高亮匹配到的字符模式

-A n(n为非负整数):同时打印匹配到的模式 后面 的 n 行

-B n(n为非负整数):同时打印匹配到的模式 前面 的 n 行

-C | --context n(n为非负整数) | -n(n为非负整数):同时打印匹配到的模式 前面和后面 的各 n 行

-c |--count :只打印匹配到的行数,而不是实际的行内容。注意:该选项针对每一个输入文件,均会有输出。可以配合-

选项统计不匹配的行数!

-l:只打印 符合 模式匹配的文件的名称

-L:只打印 不符合 模式匹配的文件的名称

-s | --no-messages:不打印错误消息

-b 、 -u:打印匹配模式字符串的偏移字节字符数

原文地址:https://www.cnblogs.com/jinzhenshui/p/1650072.html