正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。

grep [参数]  匹配条件  路径

 参数

-n  :显示行号
-o  :只显示匹配的内容
-q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc 
-A  :如果匹配成功,则将匹配行及其后n行一起打印出来
-B  :如果匹配成功,则将匹配行及其前n行一起打印出来
-C  :如果匹配成功,则将匹配行及其前后n行一起打印出来
--color
-c  :如果匹配成功,则将匹配到的行数打印出来
-E  :等于egrep,扩展
-i  :忽略大小写

-v  :取反,不匹配
-w:匹配单词

规则:

[root@localhost mona]# cat b.txt
abc
abbbbc
abbbbbbbbcddddd
abbbbbbccccdddd
a1sdfjc
r34i495vhd
achdkm
nwihcdkdnd
wnhcdcp
abbbcid
abccccjjcn
ndkjcn
kJsdnc d
abbbbcdjcnd
aBdjnkdk
aBCJDEJDK company
my company is ...
companies is a organization

^ 行首

[root@localhost mona]# grep ^a b.txt
abc
abbbbc
abbbbbbbbcddddd
abbbbbbccccdddd
a1sdfjc
achdkm
abbbcid
abccccjjcn
abbbbcdjcnd
aBdjnkdk
aBCJDEJDK
[root@localhost mona]# grep -n ^a b.txt (显示行数)
:abc
:abbbbc
:abbbbbbbbcddddd
:abbbbbbccccdddd
:a1sdfjc
:achdkm
:abbbcid
:abccccjjcn
:abbbbcdjcnd
:aBdjnkdk
:aBCJDEJDK

$ 行尾

[root@localhost mona]# grep d$ b.txt
abbbbbbbbcddddd
r34i495vhd
nwihcdkdnd
abbbcid
kJsdnc d
abbbbcdjcnd

. 除了换行符以外的任意单个字

* 前导字符的零个或多个

[root@localhost mona]# grep 'ab*' b.txt
abc
abbbbc
abbbbbbbbcddddd
abbbbbbccccdddd
a1sdfjc
achdkm
abbbcid
abccccjjcn
abbbbcdjcnd
aBdjnkdk
aBCJDEJDK
company
my company is ...
companies is a organization

.* 所有字符

[root@localhost mona]# grep '^c.*' b.txt
company
companies is a organization

[] 字符组内的任一字符
[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)

[root@localhost mona]# grep '^a[^b]' b.txt
a1sdfjc
achdkm
aBdjnkdk
aBCJDEJDK

^[^] 非字符组内的字符开头的行
[a-z] 小写字母
[A-Z] 大写字母
[a-Z] 小写和大写字母
[0-9] 数字

[root@localhost mona]# grep '^a[0-9]' b.txt
a1sdfjc

\< 单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词
\> 单词尾

[root@localhost mona]# egrep 'ab{6}' b.txt
abbbbbbbbcddddd
abbbbbbccccdddd
[root@localhost mona]# egrep 'compan(y|ies)' b.txt
company
my company is ...
companies is a organization

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

  1. Linux正则表达式grep与egrep

    grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...

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

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

  3. Linux的正则表达式grep,egrep

    一.概念 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一组特殊字符,组成一个"规则字符集合",根据用户指定的文本模式对目标文件进行逐行搜索匹配,显示能被模式匹配到的结果. ...

  4. 正则表达式grep学习(一)

    文本处理三剑客grep       文本过滤sed       流过滤awk       格式处理 正则表达式就是一些特殊字符组成的模式,赋予了他特定的含义 在大多数程序里,正则表达式都被置于两个正斜 ...

  5. Linux正则表达式grep

    正则表达式是一种符号表示法,用于识别文本模式.Linux处理正则表达式的主要程序是grep.grep搜索与正则表达式匹配的行,并将结果输送至标准输出. 1. grep匹配模式 grep按下述方式接受选 ...

  6. 使用方便 正则表达式grep,sed,awk(一)

    一些无稽之谈: 对于正则表达式,永远似了解不明白,看到一些代码,脚本定期,awk,sed.心里总有点虚.主要是记不住.平时又没怎么用,也就没总结了. 如今有空,决定总结一下,顺便克服一下看到shell ...

  7. Linux基础正则表达式:grep,sed

    先说明语系对正则表达式的影响    LANG=C:0,1,2,3,4...A,B,C,D...Z a b c d ... z    LANG=zh_CN:0,1,2,3,4...a A b B c C ...

  8. linux:正则表达式grep命令

    基本语法一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串. 一.选择:| |   竖直分隔符表示选择,例如"boy|girl"可 ...

  9. 正则表达式 grep文本查询 sed流处理 应用

    一.正则表达: ^:以什么什么开头,^a:以a字符开头 $:以什么什么结尾,b$:以b字符结尾 *:左边字符0-无穷个 +:左边字符1-无穷个 .:代表单字符 ?:前导字符为零个或1个 {n}:左面字 ...

随机推荐

  1. opus 规范 与参数解析

    bytestream_put_buffer(&p, "OpusHead", 8); bytestream_put_byte(&p, 1); /* Version * ...

  2. centos5/6/7下yum安装zabbix-agent(被控端)

    由于之前安装都是拷贝同事的zabbix_agent.tar.gz包,可是我在网上找了一大圈都没有找到这个tar包是从哪里来的,毕竟新手,太笨...so最后自己排错,找到了比较便捷的方式,直接通过yum ...

  3. OpenCV中Kinect的使用(1)

    图像处理中一般为了更好的获取外部信息都会使用到Kinect,其优势在于除了传统的RGB摄像头之外,还拥有一个获取深度信息的3D深度感应器,因此可以获得外界物体的3维信息实现物体的跟踪.手势识别等各项功 ...

  4. 结果集(ResultSet)用法

    结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等. 结果集读取数据 ...

  5. java String去除两端的空格和空字符

    java中String有个trim()能够去掉一个字符串的前后空格.但是trim()只能去掉字符串中前后的半角空格,而无法去掉全角空格.去掉全角空格需要在trim()方法的基础上加上一些判断.Stri ...

  6. 有向图 加最少的边 成为强连通分量的证明 poj 1236 hdu 2767

    poj 1236: 题目大意:给出一个有向图, 任务一: 求最少的点,使得从这些点出发可以遍历整张图  任务二: 求最少加多少边 使整个图变成一个强连通分量. 首先任务一很好做, 只要缩点 之后 求 ...

  7. 微信小程序 view 布局

    刚看到这个效果的时候还真是和ReactNative的效果一致,属性也基本的一样. view这个组件就是一个视图组件使用起来非常简单. 主要属性: flex-direction: 主要两个特性”row” ...

  8. java输出

    把一个java对象转化成一个json字符串: JSON.toJSON(user); JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH: ...

  9. PHP中常用的字符串函数?

    1.strlen() 2.strpos() 3.mb_strlen()

  10. okhttp 通过网关请求服务端返回数据

    1.启动类代码 package com.tycoon.service; import org.springframework.boot.SpringApplication; import org.sp ...