07 grep命令与正则表达式
grep命令
首先我们知道grep命令是用来做文件内容过滤的!如果你要在文件中查找一些对应的内容,我们如何来过滤找到其中我们需要符合条件的内容呢?grep命令结合正则表达式就可以实现;
grep、egrep以及fgrep为一组命令,其中grep为命令本身,而grep -E(支持扩展的正则表达式),fgrep就是什么都支持(fast grep)在某些条件下实现快速查找;这里我们详细介绍grep命令;
grep的使用方式:grep [OPTIONS] PATTERN [FILE...]
pattern 模式:这里的模式,文本字符、正则表达式的元字符组而成的一个匹配条件,就是我们的pattern;

grep是以块来匹配,只要这一行包含匹配字符,这一行的内容在默认情况下都会显示出来;
-o 只有匹配的字符才会显示,不会再直接显示整行的内容;
-v 反向选择,匹配pattern里面没有包含的内容
-i 字母不区分大小写

为了匹配更为复杂的内容,我们将pattern的内容结合正则表达式来进行匹配,下面我们就具体介绍下正则表达式:
正则表达式
Regular EXPression,REGEXP
正则表达式就是使用一些元字符,他们不表示自己原本的意义,而是使用这些元字符的通配含义!【一定要区分正则表达式中的通配符,与文件名通配符的区别!】
文件名通配符【非正则表达式】:
* 表示任意长度的任意字符
? 任意的单个字符
[] 文件匹配范围
[^] 文件匹配范围取反
基本正则表达式通配符含义:
1、字符匹配:
. 表示任意单个字符
* 匹配前面一个字符,任意长度
a* 这就表示匹配a、aa、aaa等【.* 在正则表达式里面是匹配任意字符的意思】
\? 匹配前面的字符1次后者0次【* 表示匹配前面的字符任意次】
\{m,n\} 匹配前面的字符最少m次,最多n次
\{1,\} 匹配前面的字符最少一次
\{0,3\} 匹配前面的字符最少0次,最多3次
[] 匹配范围内的单个字符
grep --color [ab] /etc/inittab #匹配a或则b字符
[^] 匹配范围外的字符
grep --color [^ab] /etc/inittab #匹配除了ab字符外的所有字符
2、位置锚定符号:
^ 锚定行首,指定文件以什么内容开头
$ 锚定行位,指定文件以什么内容结尾
^$ 表示空白行
\< 其后面的任意字符必须作为单词的首部出现
\> 其后面的任意字符必须作为单词的尾部出现
\<root\> #以root开头的单词,且以root结尾的单词,abrroot、rootabc这两个字符串就无法匹配上;
\b \b放在开头,则是\<锚定单词首部,\b放在后面,则是\>锚定单词尾部
3、分组:
\(\) 例如:\(ab\)*和ab*的区别,前者是ab一起重复任意次,而后者则是b重复任意次;前者将ab视为了一个整体!
\1 引用第一个左括号以及第一个右括号括起来的组参数
\2 引用第二个左括号的以及第二个右括号括起来的组参数
\3 、\4、\5 ... 依此类推
07 grep命令与正则表达式的更多相关文章
- 快速掌握grep命令及正则表达式
Linux系统自带了支持拓展正则表达式的 GNU 版本 grep 工具,所有的Linux发行版中均默认安装grep ,grep 命令被用来检索一台服务器或工作站上任何位置的文本信息,如何在 Linux ...
- Linux grep命令和正则表达式
介绍 grep是一个功能强大的文本搜索命令,可以用它来搜索某个文件中是否包含指定的搜索内容,它可以利用正则表达式来做复杂的筛选操作,它还可以为其它命令传输给管道的筛选,比如我们常用到的分析单个进程的操 ...
- grep命令与正则表达式
搜寻特定字符串the 常用参数:-a 将binary档案以test档案的方式搜寻数据 -c 计算找到'搜寻字符串'的次数 -i 忽略大小写的不同 -n 顺便输出行号 -v 反向选 ...
- Linux grep 命令中的正则表达式详解
在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式(extended regular expres ...
- linux:正则表达式grep命令
基本语法一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串. 一.选择:| | 竖直分隔符表示选择,例如"boy|girl"可 ...
- 如何使用Grep命令查找多个字符串
如何使用Grep 命令查找多个字符串 大家好,我是良许! 今天向大家介绍一个非常有用的技巧,那就是使用 grep 命令查找多个字符串. 简单介绍一下,grep 命令可以理解为是一个功能强大的命令行工具 ...
- 正则表达式2——grep命令
grep是Global search Regular Expression and Print out the line的简称. 1. grep命令基本用法 命令格式: grep [选项][模式][文 ...
- grep命令及基本正则表达式
grep命令是Linux系统中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功 ...
- Linux - 结合正则表达式使用grep命令
Grep with Regular Expression grep命令基本用法 grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名参数说明: ...
随机推荐
- C# 集合、字典、栈和队列
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- 阿里巴巴Java编码规范,来测测你能得多少分
今年年初,<阿里巴巴Java开发手册>正式发布,阿里官方Java代码规范标准首次对外公开.手册发布之后在业界.学术界都获得了广泛的关注,仅微博浏览量就突破千万,下载访问量超过40万,多家媒 ...
- Git-.gitignore配置
.gitignore文件配置:keil工程文件类型模板 # reference to Keil->help->µVision User's Guide->Appendix->B ...
- WyBox使用shell脚本检测io口是否正常
1. 修改mt7620a.dts文件,把gpio管脚复用全都定义为通用gpio /dts-v1/; /include/ "mt7620a.dtsi" / { compatible ...
- php限制文件下载速度的代码
有时候你会出于某种目的而要求把下载文件的速度放慢一些,例如你想实现文件下载进度条功能.限制下载速度最大的好处是节省带宽,避免瞬时流量过大而造成网络堵塞.本文将和你分享如何通过php代码来实现限制文件的 ...
- msp430学习笔记-TA
定时器,CCR2,CCR1三者共用一个中断向量 定时器A是一个16位的定时/计数器.它有3个捕获/比较寄存器:能支持多个时序控制.多个捕获/比较功能和多个PWM输出:有广泛的中断功能,中断可由计数器溢 ...
- 还原MongoDB dump备份出来的Bson数据
集合名 数据库名 备份文件位置 mongorestore --collection people --db accounts dump/accounts/people.bson
- PAT 乙级 1042 字符统计(20) C++版
1042. 字符统计(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 请编写程序,找出一段给定文字中出现最 ...
- JavaScript之图片操作5
本次的图片操作是要实现模仿天猫淘宝的放大镜效果,如下图所示: 其实现原理其实很简单,主要就是定位的运用,在上面的图中,左边是一个div,它的大小就是左边图片的大小,我们称为左窗口(原图),红色部分我们 ...