七 、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:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法 ...
随机推荐
- 第一百八十八节,jQuery,选项卡 UI
jQueryUI,选项卡 UI 学习要点: 1.使用 tabs 2.修改 tabs 样式 3.tabs()方法的属性 4.tabs()方法的事件 5.tabs 中使用 on 选项卡(tab),是一种能 ...
- window7电脑git设置快捷命令
平常git开发的一些命令来回重复的敲,有点麻烦,这里给git的常用的命令设置了快捷键,很方便开发. 我这个是window7环境,下面开始 1.home键 + r 打开运行窗口,点击确定进入黑窗口 2. ...
- Android处理图片工具(转载)
内容来源于http://www.cnblogs.com/TerryBlog/archive/2012/01/08/2316482.html package com.wireme.activity; i ...
- 【BZOJ2325】[ZJOI2011]道馆之战 线段树+树链剖分
[BZOJ2325][ZJOI2011]道馆之战 Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过 ...
- 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式
原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: l print(_:).输出变量或常量到控制台,并且换行. l print(_:_:).输出 ...
- Nginx敏感信息泄露漏洞(CVE-2017-7529)
2017年7月11日,为了修复整数溢出漏洞(CVE-2017-7529), Nginx官方发布了nginx-1.12.1 stable和nginx-1.13.3 mainline版本,并且提供了官方p ...
- pc端监听屏幕实现导航固定定位
要点:占位符 js,监听屏幕滚动事件,当滚动条距离浏览器顶部的距离 大于 要固定定位开始以下元素的距离,则给要固定元素添加fixed样式. 初始化方法时,要给占位符添加样式 function sort ...
- JavaWeb 之过滤器
1. 什么是过滤器 Servlet 是用来处理请求的, 过滤器是用来拦截请求的. 当用户请求某个 Servlet 时,会先执行部署在这个请求上的 Filter, 而 Filter 决定是否调用 Ser ...
- 0x05 MySQL 数据操作
一 插入数据INSERT 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二: INSERT I ...
- 我的Android进阶之旅------>adbd cannot run as root in production builds 的解决方法
今天用adb root命令时候,报了错误:adbd cannot run as root in production builds C:\Documents and Settings\Administ ...