grpe 及正则表达式

文本查找的需要:grep,egrep,fgrep
grep: 根据模式,搜索文本,并将符合模式的文本行显示出来。
Pattern : 文本字符以及正则表达式的元字符组合而成的匹配条件

grep [OPTIONS] PATTERN [FILE...]
-i :忽略大小写
--color :颜色突出显示
-v: 显示没有匹配到的行(反向匹配)
-o : 只显示被模式匹配到的字符串(一个字符串显示为一行)

* :任意长度字符
?:任意单个字符
[]:
[^]

正则表达式: RE regular expression REGEXP
元字符:
.: 匹配任意单个字符
[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

!: 取反

字符集合: (引用的时候还要加一个 [ ] )
[:digit:] 数字
[:lower:] 小写字母
[:upper:] 大写字母
[:punct:] 标点符号
[:space:] 空白字符
[:alpha:] 所有字母
[:alnum:] 所有数字和字母

匹配次数(贪婪模式:尽可能长的匹配):
* :匹配其前面的字符任意次
a,b,ab,aab,acb,adb,anib
a*b :表示a 出现任意次 然后匹配个b ,所以上面能匹配的是,b,ab,aab

.* :匹配任意长度的任意字符
a.*b : 则表示匹配a开头b结尾的字符串,中间任意啥都行 . 表示任意字符,* 表示匹配 . 任意次。

\?: 匹配其前面的字符1次或0次
a\?b
\{m,n\}匹配其前面的字符至少m次,至多n次
\是转义字符,避免被shell解析为命令行展开
a\{1,3}b 匹配ab,a出现至少1次,最多3次的字符 --> ab,aab,aaab
a.\{1,3}b a和b之间出现任意字符,最少1个,最多3个

位置锚定:
^ : 锚定行首,此字符后面的任意内容必须出现在行首
$ : 锚定行尾,此字符前面的任意内容必须出现在行尾
^$: 空白行

\<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

分组:
\(\)
\(ab\)* : ab作为一个整体,可以出现任意次
后向引用
\1:引用第一个左括号以及与之对应的右括号所包括的所有内容 \(ab\).*\1
\2:引用第二个左括号以及与之对应的右括号所包括的所有内容 \(ab\).*\2
\3:引用第三个左括号以及与之对应的右括号所包括的所有内容 \(ab\).*\3

正则表达式:
Basic REGEXP: 基本正则表达式
Extended REGEXP:扩展正则表达式。

基本正则:
.:
[]:
[^]:

次数匹配:
*:
\?: 0或1次
\{m,n\} :至少m次,至多n次

锚定:
^:
$:
\<,\b:
\>,\b

分组:
\(\):
\1,\2,\3....

grep: 使用基本正则表达式定义的模式来过滤文本的命令:
-i:忽略带大写
-v:反向搜索
-o:只显示匹配到的字符串
--color:显色
-E:使用扩展正则表达式
-A #: 表示某一行匹配到了,其后面的#行也显示出来,每一组用 -- 分隔
-B #: 表示某一行匹配到了,其前面的#行也显示出来,每一组用 -- 分隔
-C #:表示某一行匹配到了,其上下的#行也显示出来,每一组用 -- 分隔

扩展的正则表达式:
字符匹配:
. :任意单个字符
[]:指定范围内的单个字符
[^]: 指定范围外的单个字符

次数匹配:
*:匹配其前字符匹配任意次
?:匹配其前字符0次或1次
+:匹配其前字符至少1次
{m,n}:至少m次,至多n次 (不需要再使用 \ )

位置锚定:
^: 行首
$: 行尾
\<,\b: 词首
\>,\b:词尾

分组:
(): 分组
\1,\2,\3....
或者
|:or

group -E = egroup

1-255的数字正则表达式:
\<[1-9|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]]\>

IPV4:
5类: ABCDE 类
A:1-127
B:128-191
C:192-233
匹配IP

fgrep : 不支持正则表达式( 执行速度快)

grep 及正则表达式的更多相关文章

  1. Linux grep与正则表达式

    grep命令         格式:grep [-acinv] [--color=auto] '查找字符串' filename -a 将binary文件以text文件的 -c 计算找到 ‘查找字符串’ ...

  2. grep和正则表达式

    正则表达式示例表字 符 意 义 示 例* 任意长度的字符串. a* 表示: 空字符串.aaaa.a…? 长度为0或者1的字符串. a? 表示: 空字符串和a.+ 长度为一个或者多个的字符串. a+表示 ...

  3. grep与正则表达式,grep、egrep和fgrep

    grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串. ...

  4. 第5天(半天)【shell编程初步、grep及正则表达式】

    第5天(半天)[shell编程初步.grep及正则表达式] shell编程初步(01)_recv shell脚本:文本文件 #!:/bin/bash #!:/usr/bin/python #!:/us ...

  5. [Linux 006]——grep和正则表达式

    在使用系统时,我们或多或少的有一些搜索.查找的需求,必须要在文本中搜索某个关键字,或者过滤出文本中某些特定的行.grep 命令就为我们提供了这样一个功能,同时,grep 还可以使用正则表达式进行匹配, ...

  6. grep与正则表达式使用

    grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.通常grep有三种版本grep.egrep(等同于grep -E)和fgrep.egrep为扩展的g ...

  7. grep用法详解:grep与正则表达式【转】

    转自:http://blog.csdn.net/hellochenlian/article/details/34088179 grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配 ...

  8. linux初级学习笔记十:linux grep及正则表达式!(视频序号:04_4)

    本节学习的命令:grep 本节学习的技能: grep对文本的匹配 正则表达式的使用 知识点十:grep及正则表达式(4_4) grep,egrep,fgrep: grep: 根据模式搜索文本,并将符合 ...

  9. grep使用正则表达式搜索IP地址

    递归搜索当前目录及其子目录.子目录的子目录……所包含文件是否包含IP地址 grep -r "[[:digit:]]\{1,3\}\.[[:digit:]]\{1,3\}\.[[:digit: ...

  10. Linux文本处理三剑客之grep及正则表达式详解

    Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...

随机推荐

  1. centos6 安装配置ss笔记

    2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...

  2. linux 安装python3

    下载python安装包 https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz (可选则自己想要的版本) 下载好之后上传到linux系统,开始 ...

  3. node.js 使用forever守护进程

    //forever的安装:npm install forever -g//使用forever启动守护进程:forever start 路径/your_app.js//关闭守护进程:forever st ...

  4. SVN学习之windows下svn的安装

    svn是apache的一个开源项目,全称为subversion.是一个基于版本的项目管理软件,一般在多人开发的项目中使用,目前svn已经替代了原来的cvs.大多数情况下,svn服务安装在linux服务 ...

  5. Day1----Python学习之路笔记(1)

    学习路线 Day1 Day2 Day3 Day4 Day5 ...待续 一.了解开发语言 1.高级语言:Python,Java,C++,C#,PHP,JS,Go,Ruby,SQL,Swift,Perl ...

  6. session会话管理

    session会话和cookie一起被称为会话跟踪技术,主要通过保存在服务器端的session数据和客户端浏览器的cookie数据共同完成用户访问服务器的足迹记录. 1. 什么是会话 会话sessio ...

  7. 【LOJ #6094. 「Codeforces Round #418」归乡迷途】

    题目大意: 传送门. lca说的很明白就不重复了. 题解: 先膜一发lca. 大体读完题以后我们可以知道对于第i个节点最短路一定是连向1到i-1中的某个点. 然后我们考虑将到1距离(这里及以下均是最短 ...

  8. BZOJ_1345_[Baltic2007]序列问题Sequence_单调栈

    BZOJ_1345_[Baltic2007]序列问题Sequence_单调栈 Description 对于一个给定的序列a1,…,an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai ...

  9. Error【0002】:YUM本地源配置问题

    1.1 问题背景 通过VMware workstation创建虚拟机,在虚拟机的CDROM设备中,装载操作系统镜像.然后通过mount -o loop的方式,将CDROM设备挂载到系统的/mnt/cd ...

  10. Pandas 错误笔记(持续更新)

    更新至2018.5.1 字典生成DataFrame 今天一个字典生成一个DataFrame,采用了以下形式,每一个value都是一个数(不是vector) df = pd.DataFrame({ 'i ...