七 、linux正则表达式
为处理大量的字符串而定义的一套规则和方法
1)linux正则表达式以行为单位处理
2)alians grep = “grep –color=auto”,让匹配的内容显示颜色
3)注意字符集,export LC_ALL=C
[root@pyrene ~]# alias grep='grep --color=auto'
[root@pyrene ~]# export LC_ALL=C
[root@pyrene ~]# echo $LC_ALL --检查字符集是否正确
C
一、正则表达式第一波字符说明
1)^word 匹配word开头的内容 vim里面的^代表一行的开头
[root@pyrene ~]# grep "^m" oldboy.log
my blog is http://www.cnblogs.com
my qq is 3110436742
my god ,i am not p but pyrene
2)word$ 匹配以word结尾的内容, vim里面的$代表一行的结尾
[root@pyrene ~]# grep "m$" oldboy.log
my blog is http://www.cnblogs.com
3)^$ 代表空行
[root@pyrene ~]# grep -n "^$" oldboy.log 这里-n显示行号
3:
7:
二、基础正则表达式第二波字符说明
4). 代表且只能表示任意一个字符
5)\ 转移符号,让有特殊身份意义的字符脱掉马甲
6)* 重复0个或者多个前面的一个字符
7).* 匹配所有字符
[root@pyrene ~]# grep -n "." oldboy.log
1:i am pyrene and
2:i like linux
4:i like badminton ball . billiard ball and chinese chess!
5:my blog is http://www.cnblogs.com
6:my qq is 3110436742
8:my god ,i am not p but pyrene
[root@pyrene ~]# grep -n ".*" oldboy.log
1:i am pyrene and
2:i like linux
3:
4:i like badminton ball . billiard ball and chinese chess!
5:my blog is http://www.cnblogs.com
6:my qq is 3110436742
7:
8:my god ,i am not p but pyrene
三、第三波正则字符说明
8)[abc] 匹配字符集合内任意一个祖父[a-zA-Z],[0-9]
9)[^abc] 匹配不包含^后的任意一个字符的内容
中括号里的^为取反,注意和中括号外面的以…开头的区别
[root@pyrene ~]# grep "[abc]" oldboy.log
i am pyrene and
i like badminton ball . billiard ball and chinese chess!
my blog is http://www.cnblogs.com
my god ,i am not p but pyrene
[root@pyrene ~]# grep "[^abc]" oldboy.log
i am pyrene and
i like linux
i like badminton ball . billiard ball and chinese chess!
my blog is http://www.cnblogs.com
my qq is 3110436742
my god ,i am not p but pyrene
10) a\{n,m\} 重复a n到m次,前一个重复的字符,如果要用egrep /sed –r可以去掉斜线
a\[n,\] 重复a至少n次前一个重复的字符
a\{n\} 重复a n次
a\{,m\}????
注意egrep或者sed –r过滤一般特殊字符可以不转义
[root@pyrene ~]# grep "0\{0,\}" oldboy.log
i am pyrene and
i like linux
i like badminton ball . billiard ball and chinese chess!
my blog is http://www.cnblogs.com
my qq is 3110436742
my god ,i am not p but pyrene
扩展正则表达式
1)+ 表示重复一个或一个以上前面的字符
[root@pyrene ~]# grep -E "go+d" oldboy.log
my god ,i am not p but pyrene
2)? 表示重复0个或者1个前面的字符
3)| 表示同时过滤多个字符串
[root@pyrene ~]# egrep "3306|1521" /etc/services
mysql 3306/tcp # MySQL
mysql 3306/udp # MySQL
ncube-lm 1521/tcp # nCube License Manager
ncube-lm 1521/udp # nCube License Manager
4)() 后向引用,分组过滤
七 、linux正则表达式的更多相关文章
- linux正则表达式之-基础正则表达式(基于grep)
linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或 ...
- 关于清晰讲解linux正则表达式的博文分享
http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html linux shell 正则表达式(BREs,EREs,PREs)差异比 ...
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
- 【Linux】linux正则表达式及通配符
正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列.拥有强大的字符搜索功能.也非常方便的搜索过滤出我们想要的内容. linux正则表达式分为基本正则表达式(Basic Regexp)和扩展 ...
- Linux 正则表达式_010
Linux 正则表达式 标注:本教程只针对linux运维的三剑客命令awk,sed,grep正则表达式 什么是正则表达式? 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法通过定义的这 ...
- linux正则表达式(基础正则表达式+扩展正则表达式)
正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三剑客要想能工作的更高效,就一 ...
- linux 正则表达式和通配符
linux 正则表达式和通配符 通配符用于查找文件 包含三种: * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...
- Python爬虫入门七之正则表达式
在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...
- (转)linux正则表达式详解
linux正则表达式详解 http://blog.csdn.net/wuliowen/article/details/64131815 1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法 ...
随机推荐
- [浪风推荐]php的memcache应用入门教程
所需环境: php 5.3.3 apache 2.2.7 mysql 5.5.8 解压Memcached_1.2.5文档,cmd下执行memcached.exe -d -install 将php5.3 ...
- 【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
当点击完 finishbutton后,dbca 或者dbua hang住 来源于: DBCA/DBUA APPEARS TO HANG AFTER CLICKING FINISH BUTTON (文档 ...
- 在部署有OGG的数据库主机上打数据库patch遇到的问题libclntsh.so.11.1 active
在部署有OGG的数据库主机上打数据库patch遇到的问题$ORACLE_HOME/lib/libclntsh.so.11.1 active 例如以下是报错提示: [oracle@lei1 175796 ...
- 密钥管理服务KMS
密钥管理服务 KMS - 腾讯云 https://cloud.tencent.com/product/kms
- API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd API 网关出现的原因
API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd http://www.infoq.com/cn/articles/compa ...
- javascript基础(整理自廖雪峰)
不要使用==比较,始终坚持使用===比较false == 0; //返回true. 这种情况, 它会自动转换数据类型再比较false === 0; //返回false. 建议用这种方式 NaN === ...
- Unity字体文件放Resources和打成ab对比
情况一:公共字体打成ab的时候,加载A界面的时候加载了font的ab,卸载A和font的ab后,接着加载B界面,加载了font的ab,卸载B和font的ab,这时候字体对应的asset会在内存里有两份 ...
- 转载:Linux下查看/修改系统时区、时间
一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...
- Oracle学习笔记—Oracle左连接、右连接、全外连接以及(+)号用法(转载)
转载自: Oracle左连接.右连接.全外连接以及(+)号用法 对于外连接,Oracle中可以使用“(+)”来表示. 关于使用(+)的一些注意事项: (+)操作符只能出现在WHERE子句中,并且不能与 ...
- Log4j详细配置解释
原文地址:https://www.cnblogs.com/godtrue/p/6444158.html log4j(七)——log4j.xml简单配置样例说明 一:测试环境与log4j(一)——为什么 ...