十一、shell中的连接符,grep egrep 命令与正则表达式
2016-10-29 22:50
253 查看
一、shell中的连接符
&&:左边成功才能执行右边||:左边执行不成功,才会执行右边;:左右无关
二、正则,grep过滤
#alias cg=’grep --color‘
#vi .bashrc
输入 alias cg=’grep --color‘
使这条命令永久生效。grep --color 把匹配的关键词用红色表示
-c 打印出符合要求的行数-n 在输出符合要求的行号的同时连同行号一起输出-v 打印不符合要求的行-A 后面跟一个数字,例如,-A2 表示显示符合要求的行以及其下面两行-B 后面跟一个数字,例如 -B2 表示打印符合要求的行以及上面两行-C 后面跟一个数字,例如 -C2 表示打印符合要求的行以及上下两行grep --color 把匹配的关键词用红色表示
#grep '[0-9]' 1.txt 过滤出包含数字的行
#grep '[^0-9]' 1.txt 过滤出非数字的行 在【】里面加^ 表示非
#grep -v '^#' 1.txt 去除以#开头的行
#grep -v '^$' 1.txt |grep -v '^#' 去除所有空行和以#开头的行#grep '^[a-zA-Z]' 1.txt 过滤出以英文字母开头的行#grep '^[^0-9]' 1.txt 过滤出以非数字开头的行
#grep 'o\{2\}' 1.txt 指定过滤字符次数 {} 大括号,grep需要脱义才能使用
#grep 'r.o' 1.txt; grep 'r*t' 1.txt; grep 'r.*' 1.txt. 表示任意一个字符 (#grep 'r.o' 1.txt 表示r和o之间的任意一个字符)
* 表示零个或多个前面的字符 (#grep 'r*o' 1.txt,表示在0之前的的零个或多个r字符)
.*表示零个或多个任意字符,空行也包含在内 (全匹配)
+ 表示1个或多个前面的字符
egrep=grep -Eegrep是grep的扩展,它可以实现所有grep的功能。#egrep 'o+' 1.txt 匹配1个或一个以上+号前面的字符#egrep ’o?' 1.txt 匹配0个或1个?号前面的字符#egrep 'root|body' 1.txt 匹配root 或者 body#egrep ’r(oo)|(at)0' 1.txt 用括号表示一个整体,匹配roo或者 ato#egrep '(oo)+' 1.txt 匹配一个或者多个oo
#grep -E --color '(rr){5,6}' 1.txt 匹配出现rr5次或者6次的行。等于#grep --color '\(rr)\{5,6}' 1.txt
+ 和 ? grep不支持,egrep才支持
A grep '1.a' 1.txt 这里的1.a表示1和a之间可以是任意一个字符
B grep 'b*a' 1.txt 表示有0个或多个b,然后a
C grep 'a\?b' 1.txt 会过滤含有b或者ab的行
D grep 'a.*b' 1.txt 表示只要这一行中前面有a后面有b就会匹配
&&:左边成功才能执行右边||:左边执行不成功,才会执行右边;:左右无关
二、正则,grep过滤
#alias cg=’grep --color‘
#vi .bashrc
输入 alias cg=’grep --color‘
使这条命令永久生效。grep --color 把匹配的关键词用红色表示
-c 打印出符合要求的行数-n 在输出符合要求的行号的同时连同行号一起输出-v 打印不符合要求的行-A 后面跟一个数字,例如,-A2 表示显示符合要求的行以及其下面两行-B 后面跟一个数字,例如 -B2 表示打印符合要求的行以及上面两行-C 后面跟一个数字,例如 -C2 表示打印符合要求的行以及上下两行grep --color 把匹配的关键词用红色表示
#grep '[0-9]' 1.txt 过滤出包含数字的行
#grep '[^0-9]' 1.txt 过滤出非数字的行 在【】里面加^ 表示非
#grep -v '^#' 1.txt 去除以#开头的行
#grep -v '^$' 1.txt |grep -v '^#' 去除所有空行和以#开头的行#grep '^[a-zA-Z]' 1.txt 过滤出以英文字母开头的行#grep '^[^0-9]' 1.txt 过滤出以非数字开头的行
#grep 'o\{2\}' 1.txt 指定过滤字符次数 {} 大括号,grep需要脱义才能使用
#grep 'r.o' 1.txt; grep 'r*t' 1.txt; grep 'r.*' 1.txt. 表示任意一个字符 (#grep 'r.o' 1.txt 表示r和o之间的任意一个字符)
* 表示零个或多个前面的字符 (#grep 'r*o' 1.txt,表示在0之前的的零个或多个r字符)
.*表示零个或多个任意字符,空行也包含在内 (全匹配)
+ 表示1个或多个前面的字符
egrep=grep -Eegrep是grep的扩展,它可以实现所有grep的功能。#egrep 'o+' 1.txt 匹配1个或一个以上+号前面的字符#egrep ’o?' 1.txt 匹配0个或1个?号前面的字符#egrep 'root|body' 1.txt 匹配root 或者 body#egrep ’r(oo)|(at)0' 1.txt 用括号表示一个整体,匹配roo或者 ato#egrep '(oo)+' 1.txt 匹配一个或者多个oo
#grep -E --color '(rr){5,6}' 1.txt 匹配出现rr5次或者6次的行。等于#grep --color '\(rr)\{5,6}' 1.txt
+ 和 ? grep不支持,egrep才支持
A grep '1.a' 1.txt 这里的1.a表示1和a之间可以是任意一个字符
B grep 'b*a' 1.txt 表示有0个或多个b,然后a
C grep 'a\?b' 1.txt 会过滤含有b或者ab的行
D grep 'a.*b' 1.txt 表示只要这一行中前面有a后面有b就会匹配
相关文章推荐
- Linux文件系统相关权限及正则表达式相关命令grep、egrep的使用说明
- shell脚本之正则表达式、函数、grep、sed、awk、printf等基本命令配置详解
- grep、egrep命令及正则表达式
- Shell中的grep命令与正则表达式
- 文本搜索必学命令-grep egrep fgrep用法以及正则表达式 推荐
- 文本搜索必学命令-grep egrep fgrep用法以及正则表达式
- 编程语言和shell编程的基础内容以及grep、egrep命令及相应的正则表达式和用法
- shell--grep命令+正则表达式+基本语法
- 8_Shell语言―――扩展正则表达式和egrep、fgrep命令
- Linux正则表达式的使用和基本命令grep、egrep、fgrep的用法
- linux学习之grep egrep 命令及正则表达式
- Linux基础:shell中正则表达式grep,egrep的基础用法
- 文本搜索必学命令-grep egrep fgrep用法以及正则表达式
- linux基本命令grep egrep fgrep用法以及正则表达式
- linux基本命令grep egrep fgrep用法以及正则表达式
- 编程语言和shell编程的基础内容以及grep、egrep命令及相应的正则表达式和用法
- SHELL —— grep命令+正则表达式
- linux基本命令grep egrep fgrep用法以及正则表达式
- grep和egrep命令及相应的正则表达式用法总结
- 常用正则表达式和shell命令列表