Linux中的正则表达式 grep egrep fgrep
2016-01-21 18:07
489 查看
正则表达式: REGEXP REGuler EXPression,使用元字符和其他字符串来描述、匹配一系列符合某个句法规则的字符串。默认尽可能长得匹配(贪婪模式)。
元字符:
.:匹配任意单个字符(文件名通配中?表示任意单个字符)
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的单个字符
[:space:]:空白字符
[:puntt:]:所有标点符号
[:upper:]:所有大写字母
[:lower:]:所有小写字母
[:alpha:]:所有大小写字母
[:digit:]:所有数字
[:alnum:]:所有数字和大小写字母字符次数匹配: *:匹配其前字符任意次数(文件名通配中*表示任意长度的任意字符) .*:任意长度的任意字符
\?:匹配其前字符一次或零次,可用可无
\{\}:\{m,n\}匹配其前字符至少m次,最多n次 eg:\{1,\}至少1次;\{0,3\}最多3次位置锚定: ^:锚定行首,其后字符必须出现在行首
$:锚定行尾,其前字符必须出现在行尾
^$:空白行
\<:其后字符必须作为单词首部出现,可用\b代替
\>:其前字符必须作为单词尾部出现,可用\b代替
eg:\<root\>==\broot\b分组:\(\) eg:\(a,b\)*:ab出现任意次 小括号最主要的作用不是为了使其中的内容当作一个整体被看待,而是方便后面内容引用(后向引用)
eg:\1:调用前面第一个左括号及其与之对应右括号所包括的内容
\n:调用前面第n个左括号及其与之对应右括号所包括的内容
正则表达式:分为基本正则表达式和扩展正则表达式
扩展正则表达式:字符匹配:.,[],[^]与基本正则表达式一样
次数匹配*,?:与基本正则表达式一样,?前不需要加\+:其前字符至少一次==基本正则表达式中 \(1,\){m,n}:至少m次至多n次,与基本正则表达式花括号前少了\
锚定字符: \< \> ^ $ \b 与基本正则表达式一样
分组:():不需加\ 支持 \1,\2,\3,…
或者: |:or 或者 eg:a|b a或者b eg:C|cat==C或者cat(而非Cat或者cat)
grep:根据模式去搜索文本,并将符合模式的文本行显示出来。使用基本正则表达式及其定义的模式来过滤文本的命令。模式:Pattern 文本字符和正则表达式的元字符组合而成的匹配条件 -i:忽略大小写
--color:被匹配到的字符加颜色显示
-o:只显示被匹配到的字符串
-v:反向查找,显示没有被模式匹配到的内容行
-E:使用扩展正则表达式
-A n:显示被匹配到的行和其后n行
-B n:显示被匹配到的行和其前n行 -C n:显示被匹配到的行和其前后各n行
egrep:使用扩展正则表达式及其定义的模式来过滤文本的命令。 egrep=grep -E
fgrep:fast grep 快速查找字符 不支持正则表达式,就按字符串搜索。
元字符:
.:匹配任意单个字符(文件名通配中?表示任意单个字符)
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的单个字符
[:space:]:空白字符
[:puntt:]:所有标点符号
[:upper:]:所有大写字母
[:lower:]:所有小写字母
[:alpha:]:所有大小写字母
[:digit:]:所有数字
[:alnum:]:所有数字和大小写字母字符次数匹配: *:匹配其前字符任意次数(文件名通配中*表示任意长度的任意字符) .*:任意长度的任意字符
\?:匹配其前字符一次或零次,可用可无
\{\}:\{m,n\}匹配其前字符至少m次,最多n次 eg:\{1,\}至少1次;\{0,3\}最多3次位置锚定: ^:锚定行首,其后字符必须出现在行首
$:锚定行尾,其前字符必须出现在行尾
^$:空白行
\<:其后字符必须作为单词首部出现,可用\b代替
\>:其前字符必须作为单词尾部出现,可用\b代替
eg:\<root\>==\broot\b分组:\(\) eg:\(a,b\)*:ab出现任意次 小括号最主要的作用不是为了使其中的内容当作一个整体被看待,而是方便后面内容引用(后向引用)
eg:\1:调用前面第一个左括号及其与之对应右括号所包括的内容
\n:调用前面第n个左括号及其与之对应右括号所包括的内容
正则表达式:分为基本正则表达式和扩展正则表达式
扩展正则表达式:字符匹配:.,[],[^]与基本正则表达式一样
次数匹配*,?:与基本正则表达式一样,?前不需要加\+:其前字符至少一次==基本正则表达式中 \(1,\){m,n}:至少m次至多n次,与基本正则表达式花括号前少了\
锚定字符: \< \> ^ $ \b 与基本正则表达式一样
分组:():不需加\ 支持 \1,\2,\3,…
或者: |:or 或者 eg:a|b a或者b eg:C|cat==C或者cat(而非Cat或者cat)
grep:根据模式去搜索文本,并将符合模式的文本行显示出来。使用基本正则表达式及其定义的模式来过滤文本的命令。模式:Pattern 文本字符和正则表达式的元字符组合而成的匹配条件 -i:忽略大小写
--color:被匹配到的字符加颜色显示
-o:只显示被匹配到的字符串
-v:反向查找,显示没有被模式匹配到的内容行
-E:使用扩展正则表达式
-A n:显示被匹配到的行和其后n行
-B n:显示被匹配到的行和其前n行 -C n:显示被匹配到的行和其前后各n行
egrep:使用扩展正则表达式及其定义的模式来过滤文本的命令。 egrep=grep -E
fgrep:fast grep 快速查找字符 不支持正则表达式,就按字符串搜索。
相关文章推荐
- linux 进程管理
- Linux下的PostgreSQL简单安装手册
- Linux定时任务Crontab详解
- Linux vi 编辑器 常用命令行
- linux文件权限学习 包括 特殊权限
- CentOS MySQL数据目录修改
- Linux下配置Hadoop 1.2.1
- Linux下JVM中可生成的最大Thread数量
- linux压缩解压(转)
- libssh2进行远程运行LINUX命令
- Linux学习之查看远端的端口是否通畅
- linux 虚拟机中redhat用桥接模式没有IP问题
- linux命令行颜色
- ARM Linux设备树
- JAVA Window、Linux 获取实际IP地址
- Linux下创建和删除用户
- Linux每日学习(十四)
- Linux建立FTP服务器
- Linux每日学习(十三)
- Linux 常用命令之mv