【linux之正则表达式】
一、grep
grep家族
grep、egrep、fgrep
Globally search a Regular Expression and Print
根据我们提供的模式进行查找,并且将文件中匹配的行显示出来
模式:pattern,纯字符串或元字符构成的匹配条件
grep工作在贪婪模式下
grep
- grep [OPTIONS] PATTERN [FILE...]
- --color:将匹配模式的部分以高亮彩色的方式进行显示
- -i:忽略大小写进行匹配
- -v:反向选择,将没有匹配到的显示出来
- -o:只显示匹配到的字符
- -E:使用扩展的正则表达式
- -A#:(after)显示被条件匹配的行及其后面的#行
- -B#:(before)显示被条件匹配的行及其前面的#行
- -C#:(context)显示被条件匹配的行及其前后各#行
二、正则表达式的元字符
1、基本正则表达式
- .字符或字符串出现次数的匹配
- *:其前面的字符出现0次或任意次
- \?:其前面的字符出现0次或1次
- \{m,n\}:其前面的字符至少出现m次,最多出现n次
- .通配符
- .:任意单个字符
- []:指定范围内的任意单个字符
- [^]:不包括指定范围内的任意单个字符
- [[:space:]]
- .锚定字符
- ^:行首锚定,凡是跟在^后的必须出现在行首
- $:行尾锚定,凡是写在$前面的字符串必须出现在行尾
- \<或\b:词首锚定:凡是写在其后的字符串,必须出现在一个词的词首
- \>或\b:词尾锚定:凡是写在其前面的字符串,必须出现在一个次的词尾
- .分组符号
- \(\):分组
- \:引用第一对括号里内容
- \:引用第二对括号里内容
- \
2、扩展的正则表达式 grep -e = egrep
- +:前面的字符至少出现一次
- |:或者
- ()分组可以不写转义字符
- grep 基本的正则表达式,元字符
- egrep 扩展的正则表达式,元字符
- fgrep 纯字符串
【linux之正则表达式】的更多相关文章
- linux shell 正则表达式(BREs,EREs,PREs)差异比较
linux shell 正则表达式(BREs,EREs,PREs)差异比较 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符 串的单个字符串.在很多文本编辑器或其他工具里 ...
- 07: linux中正则表达式与grep使用
1.1 linux中正则表达式 1.^linux 以linux开头的行 2.$php 以php结尾的行 3.. 匹配任意单字符 4..+ ...
- linux shell 正则表达式(BREs,EREs,PREs)的比较
原文 : linux shell 正则表达式(BREs,EREs,PREs)差异比较 在使用 linux shell的实用程序,如awk,grep,sed等,正则表达式必不可少,他们的区别是什么 ...
- linux ls正则表达式
ls就是默认排序的. 所以: ls只支持通配符,不支持正则,所以单纯用ls是不能实现的. 一些正则过滤操作需要结合支持正则的命令如grep.sed或awk. 例如:ls | grep "[0 ...
- 【转】linux shell 正则表达式(BREs,EREs,PREs)差异比较
我想各位也和我一样,再linux下使用grep,egrep, awk , sed, vi的搜索时,会经常搞不太清楚,哪此特殊字符得使用转义字符'\' .. 哪些不需要, grep与egrep的差异 ...
- Linux之正则表达式1
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑.适当使用正则表达式可以提高工作效 ...
- 3分钟搞定Linux系统正则表达式
正则表达式是一种字符模式,用于在查找过程中匹配制定的字符. 元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析:正则表达式元字符,由vi/grep/sed/awk等文 ...
- linux shell 正则表达式(BREs,EREs,PREs)差异比较(转)
add by zhj: Python的正则表达式跟Perl很像,Python的re模块文档中也说"This module provides regular expression matchi ...
- Linux基础-正则表达式整理---------------grep、sed、awk
目录: Ⅰ:正则表达式 Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...
- linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
转载: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或 替换那些符合某个模式的文本内容.许多程序设计语 ...
随机推荐
- destoon框架二次开发【整理】
=========================================================== destoon使用中的一些心得 ====================== ...
- 邓_tp_笔记
<?phpnamespace app\teacher\controller;use think\Db;use app\common\model\Classcourse;use app\commo ...
- ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(二)—启用用户管理
修改和启用默认的用户账户管理和角色管理 一.修改Models目录中的ApplicationUser.cs类文件,如下 namespace xxxx.Models{ //将应用程序用户的属性添加到 ...
- scrapy_图片下载
需要安装第三方库: 安装 pillow库 pip install -i https://pypi.doubanio.com/simple pillow 如何对图片进行自动下载? 首先明白,图片去哪下? ...
- CSS深入理解学习笔记之float
1.float的历史 float设计的初衷仅仅是为了文字环绕效果. 示例代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...
- Maven的Archetype简介
Archetype,骨架的意思. 文章出处:http://m.blog.csdn.net/blog/FireOfStar/42526027 Archetype是什么? 简单的说,Archetype是M ...
- lambda高级进阶--表达式参数
1,现在我们封装一个方法,来提供一个比较器,显然比较器是拥有两个参数的--用来比较的两个值. public class Linkin { public static String[] sort(Str ...
- WebSphere--用户简要表
Application Server 含有 com.ibm.servlet.personalization.userprofile 软件包中的类,这些类使维护关于 Web 站点访问者的持久信息和利用 ...
- MySQL中时间函数NOW()和SYSDATE()的区别
mysql中日期函数还是比较常用的.主要有NOW()和SYSDATE()两种,虽然都表示当前时间,但使用上有一点点区别. NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间. ...
- Struts2.3.34+Hibernate 4.x+Spring4.x 整合二部曲之下部曲
1 导入jar包 本文最后会给出项目的地址,各位无须看急. 2 配置web.xml文件 <?xml version="1.0" encoding="UTF-8&qu ...