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

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. get方式请求乱码

    -----------------jsp--------------- var search = $("#searchName").val();search = encodeURI ...

  2. 在NodeJS中使用流程控制工具Async

    本文介绍一款流程控制工具async,在编写接口或者编写测试用例的过程中总是会用到它. 由于nodejs是异步编程模型,有一些在同步编程中很容易做到的事情,现在却变得很麻烦.Async的流程控制就是为了 ...

  3. Python+selenium打开或关闭浏览器

    Python+selenium打开或关闭浏览器 一.打开或关闭火狐浏览器 1.       初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打 ...

  4. Laravel5.1 模型初探

    Laravel的模型也是访问数据库的,它更加面向对象,一个模型对应着一张表 我们可以使用模型对数据做一些增删改查的操作. 1 创建模型 创建模型是可以使用Artisan控制台的: php artisa ...

  5. PHP面向过程和面向对象

    php程序编写分为面向过程和面向对象.两者在功能实现上没有区别,但是在代码编写上区别很大,面向过程的代码很乱,不易管理,而面向对象把常用的功能封装为一个类,这样代码清楚多了. 下面举个小例子说明一下: ...

  6. Log4j将不同Package的日志输出到不同的文件

    转自:http://www.crazyant.net/1931.html 随着项目规模的越来越大,会不断的引入新的模块,不同的模块都会打印自己的日志,最后就造成日志根本没法查看,比如我自己的项目中,就 ...

  7. 初步认识dubbo--小案例

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...

  8. jquery lazyload延迟加载技术的实现原理分析_jquery

    前言 懒加载技术(简称lazyload)并不是新技术,它是js程序员对网页性能优化的一种方案.lazyload的核心是按需加载.在大型网站中都有lazyload的身影,例如谷歌的图片搜索页,迅雷首页, ...

  9. Man-in-the-middle attack

    w https://en.wikipedia.org/wiki/Man-in-the-middle_attack https://zh.wikipedia.org/wiki/中间人攻击 需要通过一个安 ...

  10. dev 转自

    .隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; .得到当前选定记录某字段的值 sValue=Table.Rows[gridV ...