七 、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:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法 ...
随机推荐
- codeforces(559C)--C. Gerald and Giant Chess(组合数学)
C. Gerald and Giant Chess time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- Android 版本更新升级
推荐一款很好的版本升级开源框架: https://github.com/WVector/AppUpdate 个人地址:总结https://gitee.com/anan9303/AppVersionUp ...
- CentOS系统bash: groupadd: command not found问题
如果我们需要在CentOS执行新建用户组命令的时候,需要进入到ROOT权限,如果你用以下命令: 1 su2 su root 进入到ROOT账户,那么会出现上述的错误信息:“bash: groupadd ...
- Cocos2d-x Lua中生命周期函数
场景(Scene)以及所有节点(Node)的生命周期事件如下:enter.进入场景时候触发.enterTransitionFinish.进入场景而且过渡动画结束时候触发.exit.退出场景时候触发 . ...
- 图片热区——map的用法
<area>标记主要用于图像地图,通过该标记可以在图像地图中设定作用区域(又称为热点),这样当用户的鼠标移到指定的作用区域点击时,会自动链接到预先设定好的页面.其基本语法结构如下: 1 & ...
- redis集群报错,(error) MOVED 15495 127.0.0.1:7003
节点会对命令请求进行分析和key的slot计算,并且会查找这个命令所要处理的键所在的槽.如果要查找的哈希槽正好就由接收到命令的节点负责处理, 那么节点就直接执行这个命令. 另一方面, 如果所查 ...
- 在执行save操作时候出现的诡异!
情景:有一份excel数据需要导入到数据库中,想了想就写了一个导入excel的小功能. .............................准备使用时候,就开搞了,擦! 什么鬼??? 全程无报错 ...
- 处理 Java 的“Cannot allocate memory”错误
今天在配置 DCA 服务器的时候,检验 java 版本的时候忽然遇到了一个 Cannot allocate memory 错误 [root@elcid-prod1 ~]# java -version ...
- 0x02 MySQL SQL基本语句
有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写 mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要下载mysql的 ...
- Android系统移植与调试之------->如何修改Android手机NFC模块,使黑屏时候能够使用NFC
我们都知道在不修改源代码的情况下,只能是解锁之后才能使用NFC功能.而在锁屏和黑屏2个状态下是没办法用NFC的,但是最近有个客户要求手机在黑屏状态下能够使用NFC,因此我们需要去修改Android源代 ...