[: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:打印匹配模式字符串的偏移字节字符数
相关推荐
在Linux Shell环境中,正则表达式常与grep、sed、awk等命令结合使用,以实现高效的数据筛选和处理。 1. 元字符:正则表达式的核心是元字符,它们具有特殊的含义。例如,`.`表示任意单个字符,`^`表示行首,`$`表示...
例如,CSDN博客中的文章详细介绍了`expect`的正则表达式使用,以及如何结合`sed`和`cut`进行数据处理。另外,`lj`编写的`expert脚本.sh`是一个实际的示例,通过阅读和分析这个脚本,可以更直观地理解`expect`的工作...
grep命令是Linux中用于正则表达式匹配的基本工具,它提供了多个参数选项,如: - `-a`:处理二进制文件时将其当作文本文件。 - `-c`:统计匹配字符串的次数。 - `-i`:忽略大小写差异。 - `-n`:显示匹配行的行号。 ...
### 文本三剑客之grep及正则表达式 #### 1. grep 命令简介 - **定义**:`grep` 是 Linux 和 Unix 系统中的一种强大的文本搜索工具,它能够...同时,配合正则表达式的使用,可以极大地提高文本处理的效率和准确性。
在学习过程中,通过实例操作,如`grep`命令在Linux系统中配合正则表达式进行文本搜索,可以加深理解和掌握。文件名中提到的“深入浅出之正则表达式”和“30分钟入门教程”都是很好的学习资源,它们会逐步引导你从...
在Linux Shell环境中,可以使用命令行工具如`grep`、`sed`、`awk`等配合正则表达式进行文本处理。例如,`grep '^[a-zA-Z]' file.txt`将从`file.txt`中找出所有以字母开头的行。 总的来说,熟练掌握Linux Shell中的...
以grep为例,它是一个用于全局搜索文本并打印结果的工具,能够配合正则表达式执行复杂的搜索任务。例如,使用grep -n "nobody" /etc/passwd命令,可以显示/etc/passwd文件中含有“nobody”这一字符串的所有行,并...
可以使用~运算符配合正则表达式来测试某个字段是否匹配某个模式。如果字段匹配,就会执行print动作。awk也支持使用条件操作符进行复杂的匹配逻辑处理。 条件操作符 awk支持多种条件操作符,包括等于(==)、不等于...
4. 正则表达式: grep 命令支持正则表达式,可以在搜索模式中使用元字符来构造复杂的搜索条件,如 [] 字符类,{} 重复范围,() 分组等。 5. 使用示例: - grep root /etc/group:在 /etc/group 文件中搜索包含 ...
如果想要匹配以"Man"开头的英雄名字,可以使用`grep`配合正则表达式`^Man`,这将匹配行首以"Man"开头的行。 此外,正则表达式还可以与其他Shell命令结合使用,如`find`、`cut`、`tr`等,实现更复杂的文本处理任务。...
它们与`grep`、`sort`、`uniq`、`head`和`tail`等工具一起,构成了Linux系统下文本过滤和操作的基础。 `grep`是一个强大的文本搜索工具,它能查找包含指定模式的行。例如,`grep nobody /etc/passwd`将找到`/etc/...
下面将详细介绍如何使用`grep`和其他相关工具配合正则表达式进行灵活的文本搜索。 1. `grep`命令的基本用法: `grep`命令的基本语法是`grep [options] regex [files]`,其中`options`是可选的参数,`regex`是正则...
总的来说,Linux Grep命令是一个功能强大且灵活的文本查找工具,其配合正则表达式使用,可以帮助用户高效地在大量文本数据中提取所需信息,是Linux系统管理、日志分析和文本处理等场景下的得力助手。熟练掌握grep...
grep支持使用正则表达式进行复杂的模式匹配。例如,`\d`表示数字,`.`表示任意字符,`*`表示前面的元素重复零次或多次等。 4. **递归搜索**: 使用`-r`或`-R`选项可以递归地在目录及其子目录下查找匹配的文件。 ...
正则表达式grep用法详解涉及...通过上述内容的介绍,可以看出,grep配合正则表达式不仅可以执行简单的文本搜索,还可以通过扩展选项实现复杂的文本匹配与过滤功能。熟练使用grep和正则表达式是提高工作效率的重要技能。
grep 命令是 Linux 系统中的一种强大的文本搜索工具,它能够使用正则表达式搜索文本,并把匹配的行打印出来。grep 全称是 Global Regular Expression Print(全局正则表达式版本),使用权限是所有用户。 grep 的...
grep支持基本正则表达式和扩展正则表达式。例如,使用`\d`匹配数字,`\b`匹配单词边界,`.`匹配任意字符,`^`和`$`分别匹配行首和行尾等。 7. **管道和重定向** grep可以与其他命令结合使用,通过管道`|`传递数据...
除了基础的grep,还有两个扩展版本:egrep(等同于`grep -E`)支持扩展正则表达式,fgrep(等同于`grep -F`)则按照字符串字面意义进行匹配,不支持正则表达式。 了解grep的基础知识后,对于理解sed和awk至关重要。...