1、grep介绍


grep命令是Linux系统中一种强大的文本搜索工具,它能使用正則表達式搜索文本。并把匹
配的行打印出来。grep全称Global Regular Expression Print,表示全局正則表達式版本号,它的使用权限是全部用户。

grep可用于shell脚本,由于grep通过返回一个状态值来说明搜索的状态,假设模板搜索成功,则返回0,假设搜索不成功,则返回1,假设搜索的文件不存在,则返回2。


2、grep经常使用參数


-a :将 binary 文件以 text 文件的方式搜寻数据 

-c :计算找到 '匹配字符串' 的次数 

-i :忽略大写和小写的不同。所以大写和小写视为同样 

-n :顺便输出行号
-v :反向选择。亦即显示出没有 '搜寻字符串' 内容的那一行!

比方test.txt文件内容例如以下:
1000 20 nan
1001 21 nv
1002 23 Nan

//忽略大写和小写进行匹配并显示行号

grep -ni 'nan' test.txt

1:1000 20 nan
3:1002 23 Nan

//忽略大写和小写进行”非“匹配 并显示行号
grep -ni 'nan' test.txt

2:1001 21 nv

3、grep正則表達式


Re 含义
^word 待匹配的字符串(word)在行首!

如:grep '^1000' test.txt

返回:1000 20 nan

word$ 待匹配的字符串(word)在行末!

如:grep 'nv$' test.txt

返回:1001 21 nv
. 代表随意一个字符,一定是一个随意字符!

搜寻的字符串能够是 (eve) (eae) (eee) (e e), 但不能仅有(ee) 。亦 即e 与e 中间一定仅有一个字符,而空格符也是字符!

如:grep 'n.n' test.txt

返回:1000 20 nan
\ 转义字符,特殊字符如 ' {  }

如:grep -n \' test.txt

匹配含有单引號'  的那一行!

* 反复零个或多个的前一个RE 字符,注意*号前面一定要有字符

如:grep 'n*' test.txt

返回:1000 20 nan

    1001 21 nv

            1002 23 Nan
\{n,m\} 连续n 到m 个的前一个RE 字符

若为\{n\} 则是连续n 个的前一个RE 字符,

若是\{n,\} 则是连续n 个以上的前一个RE 字符!
[ ] 字符集合的RE 特殊字符的符号

[abc]:表示匹配a或者b或者c

[a-z]:表示匹配a,b,c,...z这26个字母中不论什么一个

[^a-z]:表示字符串的开头仅仅要不是小写字母a-z。则都能匹配成功

[a-z$]:表示字符串的结尾仅仅要是小写字母a-z。则都能匹配成功


扩展的正則表達式:egrep 'pattern' file.txt   或者用  grep -E 'pattern' file.txt

Re 含义
+ 反复『一个或一个以上』的前一个RE 字符

如:egrep -n 'go+d' regular_express.txt

则:(god) (good) (goood)等会匹配成功
?

『零个或一个』的前一个RE 字符

如:egrep -n 'go?d' regular_express.txt

则:(gd) (god)等会匹配成功
| 用或( or )的方式找出数个字符串

如:egrep -n 'gd|good' regular_express.txt

则:匹配gd 或good 这两个字符串
() 找出『群组』字符串

如:egrep -n 'g(la|oo)d' regular_express.txt

则:匹配(glad) 或(good) 这两个字符串

grep命令经常使用參数及使用方法的更多相关文章

  1. grep命令參数及使用方法

    功能说明:查找文件中符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  2. Python命令行选项參数解析策略

    概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以 ...

  3. Docker 命令行和后台參数

    Docker官方为了让用户高速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的用法. Docker 命令行 以下对Docker的命令清单进行简单的介绍,具体内容在兴许章节具 ...

  4. Hadoop作业性能指标及參数调优实例 (三)Hadoop作业性能參数调优方法

    作者: Shu, Alison Hadoop作业性能调优的两种场景: 一.用户观察到作业性能差,主动寻求帮助. (一)eBayEagle作业性能分析器 1. Hadoop作业性能异常指标 2. Had ...

  5. grep命令提示"binary file matches **.log"解决方法

    仔细想想,这个问题遇到很多次了,之前一直以为很复杂,一搜索发现解决这么简单,记录一下做备忘. grep test XXX.log Binary file app.log matches 此时使用-a参 ...

  6. Hadoop Ls命令添加显示条数限制參数

    前言 在hadoop的FsShell命令中,预计非常多人比較经常使用的就是hadoop fs -ls,-lsr,-cat等等这种与Linux系统中差点儿一致的文件系统相关的命令.可是细致想想,这里还是 ...

  7. kettle參数、变量具体解说

    kettle參数.变量具体解说 kettle 3.2 曾经的版本号里仅仅有 variable 和 argument,kettle 3.2 中.又引入了 parameter 概念.variable 即e ...

  8. ORACLE 參数文件介绍

    ORACLE数据库启动以后.通过select * from v$parameter这个语句能够查看到oracle数据库使用的全部參数. 对于oracle的參数文件,分为spfile 二进制文件和pfi ...

  9. Effective JavaScript Item 21 使用apply方法调用函数以传入可变參数列表

    本系列作为Effective JavaScript的读书笔记. 以下是一个拥有可变參数列表的方法的典型样例: average(1, 2, 3); // 2 average(1); // 1 avera ...

随机推荐

  1. hdu 1514 记忆化搜索

    题意是给4堆(堆的高度小于等于40)有颜色(颜色的种类小于等于20)的物品,你有一个篮子最多能装5件物品,每次从这4堆物品里面任取一件物品放进篮子里,但是取每堆物品时,必须先取上面的物品,才能取下面的 ...

  2. MySQL DB 主从复制之SSL

    需求架构 准备工作 主从服务器时间同步 # 主从服务器同时配置crontab任务,与NTP服务器同步时间即可 */5 * * * * ntpdate 172.16.0.1 &>/dev/ ...

  3. angular 自定义指令参数详解【转】【个人收藏用】

    restrict:指令在dom中的声明形式 E(元素)A(属性)C(类名)M(注释) priority优先级:一个元素上存在两个指令,来决定那个指令被优先执行 terminal:true或false, ...

  4. Is there a way to detect if call is in progress? Phone Event

    First you need 3 profiles to monitor the phone state: Event: Phone IdleVariable Clear %Phoning Event ...

  5. Windbg 基础命令 《第一篇》

    Windbg.exe是Windows的一个调试工具,它支持两种调试模式,即“实时调试模式(Living)”和“事后调试模式(Postmortem)”. 实时模式:被调试的程序正在运行当中,调试器可以实 ...

  6. Tracing mysqld Using DTrace

    http://dev.mysql.com/doc/refman/5.6/en/dba-dtrace-server.html MySQL 5.6 Reference Manual -> 5 MyS ...

  7. Android 手电筒源代码

    近期因为公司须要,做了一个手电筒,事实上手电筒原理非常easy,就是调用照相机的闪光灯,控制闪光灯的开关,就能够实现手电筒的效果, 强调一下,代码中一定要注意在结束的时候对闪光灯进行释放,否则就会导致 ...

  8. ajax访问遇到Session失效问题

    最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请 求后没有返回值,只有响应的html:<html><script type='text/javascr ...

  9. 纯文本抽出程序库DMC TEXT FILTER

    因需而生,红樱枫为文本转换市场领航 --纯文本抽出程序库DMC TEXT FILTER,从需求中把握平衡 在高度数字化的今天,数字图书馆已经成为非常多人查询资料的有效途径.然而即使在畅通的宽带搜寻中一 ...

  10. Lombok的安装及入门

    lombok 的官方网址:http://projectlombok.org/ lombok 其实到这里我就介绍完了,开个玩笑,其实官网上有 lombok 三分四十九秒的视频讲解,里面讲的也很清楚了,而 ...