grep命令

  • shell脚本三剑客之一
  • grep应用场景:通常对数据进行 行的提取

  • 语法:grep [选项] [内容] [file]

    • -v 对内容进行取反提取

    • -n 对提取的内容显示行号

    • -w 精确匹配

    • -i 忽略大小写

    • ^ 匹配开头行首

    • -E 正则匹配

  • 正则语法

正则表达式 描述 例子
\ 转义符,将特殊字符进行转义,忽略其特殊意义 a.b匹配a.b,但不能匹配ajb,.被转义为特殊意义
^ 匹配行首,^则是匹配字符串的开始 ^tux匹配以tux开头的行
$ 匹配行尾,$则是匹配字符串的结尾 tux$匹配以tux结尾的行
. 匹配除换行符\n之外的任意单个字符 ab.匹配abc或bad,不可匹配abcd或abde,只能匹配单字符
[] 匹配包含在[字符]之中的任意一个字符 coo[kl]可以匹配cook或cool
[^] 匹配字符之外的任意一个字符 12345不可以匹配1234或1235,1236、1237都可以
[-] 配[]中指定范围内的任意一个字符,要写成递增 [0-9]可以匹配1、2或3等其中任意一个数字
? 匹配之前的项1次或者0次 olou?r可以匹配color或者colour,不能匹配colouur
+ 匹配之前的项1次或者多次 sa-6+匹配sa-6、sa-666,不能匹配sa-
* 匹配之前的项0次或者多次 co*l匹配cl、col、cool、coool等
() 匹配表达式,创建一个用于匹配的子串 ma(tri)?匹配max或maxtrix
{n} 匹配之前的项n次,n是可以为0的正整数 [0-9]{3}匹配任意一个三位数,可以扩展为0-9[0-9]
{n,} 之前的项至少需要匹配n次 [0-9]{2,}匹配任意一个两位数或更多位数
{n,m} 指定之前的项至少匹配n次,最多匹配m次,n<=m [0-9]{2,5}匹配从两位数到五位数之间的任意一个数字
| 交替匹配|两边的任意一项 ab(c|d)匹配abc或abd
  • 常用规则
描述
.* 所有字符
[a-z] 小写字母
[A-Z] 大写字母
[a-Z] 小写和大写字母
[0-9] 数字
  • 常用用法之一
grep "xxx" -r dir  #查找指定目录下包含指定内容的文件

最新文章

  1. css知多少(12)——目录
  2. HTML基础篇之表格的运用
  3. 【Alpha阶段】第十次Scrum例会
  4. Codeforces Good Bye 2015 D. New Year and Ancient Prophecy 后缀数组 树状数组 dp
  5. initialize 和init
  6. windows下Socket链接溢出
  7. WPF ListBox数据绑定
  8. $\be$-QGE 的弱强唯一性
  9. 面象对象设计原则之七:合成复用原则(Composition/Aggregate Reuse Principle, CARP)
  10. 【读书笔记】iOS-xib,点击事件的连接(三)
  11. Linux监控--CPU、内存、I/O
  12. Java socket保存示例(不使用base64)解决中文乱码问题
  13. [Violet]天使玩偶/SJY摆棋子
  14. 1001.A+B Format (20) 解题
  15. Java入门:基础算法之计算三角形面积
  16. 亚马逊API的使用
  17. 关于navigationBar的颜色计算与默认透明度
  18. eclipse中gradle插件安装
  19. hdu5081
  20. 使用LoadRunner监控Apache的步骤 (转)

热门文章

  1. 使用json-server与Mockjs搭建模拟服务
  2. 入门大数据---Spark累加器与广播变量
  3. dart快速入门教程 (2)
  4. ASP.NET MVC 下拉框的传值的两种方式(第二种方式未完成)
  5. JavaScript基础函数的声明(014)
  6. Nginx功能详细介绍(大而全)
  7. 飞越面试官(三)--JVM
  8. Java基础Day08(多线程)
  9. Hills——一道转移方程很“有趣”的线性DP
  10. 一起来看 HTML 5.2 中新的原生元素 &lt;dialog&gt;