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. FLASK简单入门

    假定你已经安装好了 Flask.如果没有,请跳转到 安装 章节. 一个最小的应用¶ 一个最小的 Flask 应用看起来会是这样: from flask import Flask app = Flask ...

  2. swagger-codegen自动生成代码工具的介绍与使用

    一.Swagger Codegen简介 Swagger Codegen是一个开源的代码生成器,根据Swagger定义的RESTful API可以自动建立服务端和客户端的连接.Swagger Codeg ...

  3. .net如何使用系统中没有安装的字体?

    不想安装到客户端的 Fonts 目录下面,但是我又想在程序中使用它. 这段代码放在哪里? 字体文件需要放到要安装的机器上吗?并不需要 System.Drawing.Text.PrivateFontCo ...

  4. 异常--java.text.ParseException: Unparseable date

    String d = "2015-05-19" SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy/MM/dd HH ...

  5. mysql数据库的安装与配置

    mysql数据库的安装与配置及workbench的简单使用 mysql数据库社区版下载:https://dev.mysql.com/downloads/installer/ 我这里选的是社区安装版(适 ...

  6. file.go

        //    return int64(f.offset), errors.New("offset > file.size")     //}else {     // ...

  7. 「WC 2018」州区划分

    题目大意: 给一个无向图$G(V,E)$满足$|V|<=21$,对于某一种将$G(V,E)$划分为k个的有序集合方案,若每一个子集$G_i(V_i,E_i)$,$E_i=\{(x,y)|x\in ...

  8. 【bzoj3598】: [Scoi2014]方伯伯的商场之旅

    Description 方伯伯有一天去参加一个商场举办的游戏.商场派了一些工作人员排成一行.每个人面前有几堆石子.说来也巧,位置在 i 的人面前的第 j 堆的石子的数量,刚好是 i 写成 K 进制后的 ...

  9. BZOJ_4867_[Ynoi2017]舌尖上的由乃_分块+dfs序

    BZOJ_4867_[Ynoi2017]舌尖上的由乃_分块+dfs序 Description 由乃为了吃到最传统最纯净的美食,决定亲自开垦一片菜园.现有一片空地,由乃已经规划n个地点准备种上蔬菜.最新 ...

  10. BZOJ_2242_[SDOI2011]计算器_快速幂+扩展GCD+BSGS

    BZOJ_2242_[SDOI2011]计算器_快速幂+扩展GCD+BSGS 题意: 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p, ...