Linux下grep、egrep及相应的正则表达式和用法
2016-03-08 17:02
796 查看
一、grep、egrep及fgrep
1、简介:
grep是一种强大的搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
2、命令
(1)grep命令:
支持使用基本正则表达式;
作用:文本搜索工具,根据用户指定的“pattern(过滤条件)”对目标文本逐行进行匹配检查;打印出符合条件的行;
命令格式:
grep [OPTIONS] PATTERN [FILE...]
常用选项:
①--color=auto:对匹配到的文本着色后高亮显示;
②-i:忽略字符大小写;
③-o: 仅显示匹配到的文本自身;
④-v, --invert-match : 反向匹配;
⑤-E : 支持扩展的正则表达式;
⑥-q, --quiet, --silient : 静默模式,不输出任何信息;
注:结合$?使用,获取上条命令的执行状态;
(2)egrep命令:
支持使用扩展正则表达式的grep命令,相当于grep -E;
命令格式: egrep [OPTIONS] PATTERN [FILE...]
(3)fgrep命令:
不支持使用正则表达式;
命令格式: grep [OPTIONS] PATTERN [FILE...]
二、正则表达式
由一类特殊字符及文本字符所编写的模式,其有些字符不表示其字面意义,而是用于表示控制或通配的功能;
1、基本正则表达式
基本正则表达式元字符:
字符匹配:
. : 匹配任意单个字符;
[]: 匹配范围内的任意单个字符;
[^]: 匹配范围外的任意单个字符;
示例测试:
匹配次数:
用在要指定其出现的次数的字符后面,用于限制其前面的字符要出现的次数;默认工作于贪婪模式;
*:匹配前面的字符任意次(0,1或多次)
.* : 任意长度的任意字符;
\+:匹配前面的字符至少一次;
\?:匹配前面的0次或1次,即前面的字符可有可无;
\{m\} : 其前面的字符出现m次,m为非负整数;
\{m,n\} : 其前面的字符出现m次,m为非负整数;[m,n]
示例测试:
位置锚定:
限制使用模式搜索文本,限制模式所匹配到的文本只能出现文本的哪个位置;
^ : 行首锚定;用于模式的最左侧,^PATTERN
$ : 行尾锚定;用于模式的最右侧,PATTERN$
^PATTERN$ : 要让PATTERN完全匹配一整行;
^$ : 空行;
^[[:apace:]]*$:
单词:由非特殊字符组成的连续字符(字符串)都被称为单词;
\<或\b:词首锚定,用于单词模式的左侧,格式为、\<PATTERN,\bPATTERN
\>或\b:词尾锚定,用于单词模式的右侧,格式为PATTERN\>,PATTERN\b
示例测试:
2、扩展正则表达式
扩展正则表达式的元字符:
字符匹配:
.:任意单个字符;
[]:范围内的任意单个字符;
[^]:范围外的任意单个字符;
示例测试:
匹配次数:
*:任意次;
?:0次或1次;
+:1次或多次;
{m}:匹配多次;
{m,n}:至少m次,至多n次;
{0,n}
{m,}
示例测试:
位置锚定:
^:行首
$:行尾
\<, \b:词首
\>, \b:词尾
示例测试:
1、简介:
grep是一种强大的搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
2、命令
(1)grep命令:
支持使用基本正则表达式;
作用:文本搜索工具,根据用户指定的“pattern(过滤条件)”对目标文本逐行进行匹配检查;打印出符合条件的行;
命令格式:
grep [OPTIONS] PATTERN [FILE...]
常用选项:
①--color=auto:对匹配到的文本着色后高亮显示;
②-i:忽略字符大小写;
③-o: 仅显示匹配到的文本自身;
④-v, --invert-match : 反向匹配;
⑤-E : 支持扩展的正则表达式;
⑥-q, --quiet, --silient : 静默模式,不输出任何信息;
注:结合$?使用,获取上条命令的执行状态;
(2)egrep命令:
支持使用扩展正则表达式的grep命令,相当于grep -E;
命令格式: egrep [OPTIONS] PATTERN [FILE...]
(3)fgrep命令:
不支持使用正则表达式;
命令格式: grep [OPTIONS] PATTERN [FILE...]
二、正则表达式
由一类特殊字符及文本字符所编写的模式,其有些字符不表示其字面意义,而是用于表示控制或通配的功能;
1、基本正则表达式
基本正则表达式元字符:
字符匹配:
. : 匹配任意单个字符;
[]: 匹配范围内的任意单个字符;
[^]: 匹配范围外的任意单个字符;
示例测试:
匹配次数:
用在要指定其出现的次数的字符后面,用于限制其前面的字符要出现的次数;默认工作于贪婪模式;
*:匹配前面的字符任意次(0,1或多次)
.* : 任意长度的任意字符;
\+:匹配前面的字符至少一次;
\?:匹配前面的0次或1次,即前面的字符可有可无;
\{m\} : 其前面的字符出现m次,m为非负整数;
\{m,n\} : 其前面的字符出现m次,m为非负整数;[m,n]
示例测试:
位置锚定:
限制使用模式搜索文本,限制模式所匹配到的文本只能出现文本的哪个位置;
^ : 行首锚定;用于模式的最左侧,^PATTERN
$ : 行尾锚定;用于模式的最右侧,PATTERN$
^PATTERN$ : 要让PATTERN完全匹配一整行;
^$ : 空行;
^[[:apace:]]*$:
单词:由非特殊字符组成的连续字符(字符串)都被称为单词;
\<或\b:词首锚定,用于单词模式的左侧,格式为、\<PATTERN,\bPATTERN
\>或\b:词尾锚定,用于单词模式的右侧,格式为PATTERN\>,PATTERN\b
示例测试:
2、扩展正则表达式
扩展正则表达式的元字符:
字符匹配:
.:任意单个字符;
[]:范围内的任意单个字符;
[^]:范围外的任意单个字符;
示例测试:
匹配次数:
*:任意次;
?:0次或1次;
+:1次或多次;
{m}:匹配多次;
{m,n}:至少m次,至多n次;
{0,n}
{m,}
示例测试:
位置锚定:
^:行首
$:行尾
\<, \b:词首
\>, \b:词尾
示例测试:
相关文章推荐
- linux文本处理工具之grep
- jquery遍历数组与筛选数组的方法
- shell grep 查找进程的小技巧
- hadoop实现grep示例分享
- Shell正则表达式之grep、sed、awk实操笔记
- ls --color的使用
- grep,awk,sed实例
- [Linux学习笔记] Linux常用命令 - 文件搜索命令
- grep 命令系列:从文件中搜索并显示文件名
- grep 命令系列:如何在 UNIX 中根据文件内容查找文件
- grep 命令系列:使用 grep 命令来搜索多个单词
- grep 命令系列:用 grep 命令统计匹配字符串的行数
- grep 命令系列:grep 中的正则表达式
- grep 命令系列:如何在 Linux/UNIX 中使用 grep 命令
- 14 个 Linux grep 命令的例子
- Linux文本搜索工具grep使用详解
- shell grep
- 按内容查找
- GREP 用法
- Linux grep 查找字符串 前后几行