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

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. 受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)

    受限玻尔兹曼机对于当今的非监督学习有一定的启发意义. 深度信念网络(DBN, Deep Belief Networks)于2006年由Geoffery Hinton提出.

  2. python XML实例

    案例:使用XPath的爬虫 现在我们用XPath来做一个简单的爬虫,我们尝试爬取某个贴吧里的所有帖子,并且将该这个帖子里每个楼层发布的图片下载到本地. # tieba_xpath.py #!/usr/ ...

  3. 解决OV系列摄像头寄存器读数据无法收到的问题

    最近工作中接了一款OV7725的sensor,由于平台已经接过很多的家的sensor也就没有太当回事.问题出现的很奇怪,再看了 register map后基本确定了要尽心register  R/W测试 ...

  4. Mongo同步数据到Elasticsearch

    个人博客:https://blog.sharedata.info/ 最近需要把数据从Mongo同步到Elasticsearch环境:centos6.5python2.7pipmongo-connect ...

  5. php后门管理工具weevely

    weevely是一款php后门管理工具,使用http头进行指令传输,功能强大.不过只支持php. weevely生成的服务器端php代码是经过了base64编码的,所以可以骗过主流的杀毒软件和IDS, ...

  6. Linux 装JDK

    1.查看当前系统有没有装jdk java -version 2.看看有没有安装包 rpm -qa | grep java 3.卸载OpenJDK $>rpm -e --nodeps tzdata ...

  7. Springboot 热部署中存在冲突的问题

    SpringBoot热部署有2中: 1.使用 Spring Loaded 2.使用 spring-boot-devtools 具体怎么用.自己百度! 在使用第一种时候,整合SpringBoot和通用M ...

  8. iOS KVO详解

    一.KVO 是什么? KVO 是 Objective-C 对观察者设计模式的一种实现.[另外一种是:通知机制(notification),详情参考:iOS 趣谈设计模式——通知]: KVO 提供一种机 ...

  9. JSP页面获取下来框select选中项的值和文本的方法

    <select id="username"  name=""> <option   value="1">jyy< ...

  10. ES6学习笔记(三)——数值的扩展

    看到这条条目录有没有感觉很枯燥,觉得自己的工作中还用不到它所以实在没有耐心看下去,我也是最近得闲,逼自己静下心来去学习去总结,只有在别人浮躁的时候你能静下心来去学去看去总结,你才能进步.毕竟作为前端不 ...