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:打印匹配模式字符串的偏移字节字符数