一、grep基本介绍

全拼:Global search REgular expression and Print out the line.

作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行.

模式:由正则表达式的元字符及文本字符所编写出的过滤条件﹔


grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令

grep命令里的匹配模式就是你想要找的东西,可以是普通的文字符号,也可以是正则表达式

二、正则表达式grep实践

首先先看一下这个测试文件的内容吧

2.1、输出以 I 开头的行(不区分大小写)

注: 这里的-i代表不区分大小写, -n代表显示匹配行和行号

2.2、输出以.结尾的行

注: 因为.在这里有着特殊含义, 所以要用\转义一下, 如果不加转义字符的话, grep就会把它当做正则表达式来处理(.代表的含义是匹配任意一个字符)

2.3、$符号

  • 注意在Linux平台下, 所有文件的结尾都有一个$符
  • 可以利用cat -A 查看文件

2.4、^$(代表空行的意思)组合符

找出文件的空行, 以及行号

2.5、.点符号

"."点表示任意一个字符, 有且只有一个, 不包含空行

2.6、*符号

"*"表示找出前一个字符0次或一次以上

找出文件中i出现0次或多次的行和行号

2.7、.*组合符

".*"表示所有内容, 包括空行

2.8、^.*t符 (含义: 以任意内容开头, 直到t结束)

2.9、[abc]中括号

中括号表达式,[abc]表示匹配中括号中任意一个字符, a或b或c,常见的形式如下;

  • [a-z]匹配所有小写单个字母[A-Z]匹配所有单个大写字母
  • [a-zA-Z]匹配所有的单个大小写字母
  • [0-9]匹配所有单个数字
  • [a-zA-ZO-9]匹配所有数字和字母

匹配abc字符中的任意一个,得到它的行数和行号

2.10、grep的参数-o

使用"-o"选项, 可以值显示被匹配到的关键字, 而不是讲整行的内容都输出.

显示出文章中有多少行有a

"-c"只统计匹配的行数

2.11、[^abc]中括号中去反

[^abc]或[^a-c]这样的命令, "^"符号在中括号中第一位表示排除, 就是排除字符a,b,c

注: 出现再中括号里的尖角号表示取反

三、扩展正则表达式grep实践

此处使用grep -E进行实践扩展正则, egrep官网已经弃用了

3.1、+号

+号表示匹配前一个字符1一次或多次,必须使用grep-E扩展正则

3.2、?符

匹配前一个字符0次或1次

找出文件中包含gd或者god的行

3.3、|符

竖线|再正则中是或者的意思

找出opt目录中txt结尾的文件, 其名字中包含a或者e, 不区分大小写(-i)

3.4、()小括号

将一个或多个字符捆绑在一起, 当作一个整体进行处理

3.5、{n,m}匹配次数

{n,m}:匹配前一个字符至少n次, 最多m次

{n,}: 匹配前一个字符至少n次, 没有上限

{,m}: 匹配前一个字符最多m次,可以没有

重复前一个字符各种次数, 可以通过-o参数显示明确的匹配过程

Linux中grep详解相关推荐

  1. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

    linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...

  2. linux 中/proc 详解

    proc 文件系统   在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西 ...

  3. linux中权限详解,linux 权限详解

    转载自博客园: 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 ...

  4. Linux中$PATH详解

    在linux中PATH是系统的环境变量,我的系统echo $PATH之后显示如下内容: /home/ceprei/.local/bin:/usr/local/sbin:/usr/local/bin:/ ...

  5. Linux中挂载详解以及mount命令用法

    挂载概念 Linux中的根目录以外的文件要想被访问,需要将其"关联"到根目录下的某个目录来实现,这种关联操作就是"挂载",这个目录就是"挂载点&quo ...

  6. Linux中Uboot详解

    在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行.一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序.包括固化在固件(firmware)中的 boo ...

  7. linux中samba详解,详解linux系列之samba的安装及配置

    上篇博文中我介绍了FTP,今天我们来介绍一下samba实现文件共享. 这个比FTP更好点,因为对用户的权限可以通过samba权限和系统权限交叉使用,取最严格的.可以让windows更容易的从linux ...

  8. linux中sleep详解实例

    在linux编程中,有时候会用到定时功能,常见的是用sleep(time)函数来睡眠time秒:但是这个函数是可以被中断的,也就是说当进程在睡眠的过程中,如果被中断,那么当中断结束回来再执行该进程的时 ...

  9. Linux 中 crontab 详解及示例(收藏)

    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动.关闭这个服务: /sbin/service c ...

  10. linux三剑客-grep详解

    grep 是一个常用的命令行工具,用于在文本文件中搜索指定的模式,并将匹配的行打印出来.下面是 grep 的详细使用方法: 基本语法 grep [options] pattern [file...] ...

最新文章

  1. Airlaunch 快捷设置代码分享
  2. ssh 免密码登录(设置后仍需输密码的原因及解决方法)
  3. SYSAUX表空间使用率高问题处理
  4. 解析IntelliJ IDEA内部设计
  5. GitLab 5.3 升级注意事项
  6. 解决啦啦外卖小程序无法生成桌台小程序二维码
  7. python中每个if条件后面都要使用冒号_每个if条件后面都要使用冒号
  8. 用计算机计算勾股定理,勾股定理公式计算器(勾股定理计算工具)V2018.1.0 官方版...
  9. emoji.php,简单的处理emoji的PHP类库
  10. web of science /pubmed主要可检索字段
  11. 红帽企业linux8,红帽企业Linux8登场
  12. 深入理解android(三):xposed详解,Xposed原理
  13. 如何使用最简单的方式进行企业内部知识共享
  14. 基于tkinter界面requests爬虫实现的学生事务管理平台自动填写系统
  15. 呼叫系统使用webRTC网页软电话到底好不好?
  16. CSS五种方式实现 Footer 置底
  17. 通过TMG发布ActiveSync
  18. tcp实时传输kafka数据_将物联网数据和MQTT消息流式传输到Apache Kafka
  19. 小程序开发------文件目录结构
  20. 计算机二级没考过考计算机三级,怎么样才能学好计算机二级,考了两次还没有过啊...

热门文章

  1. bt porting
  2. 基于SSM框架的新闻管理系统
  3. UNIX环境高级编程习题——第一章
  4. 微信小程序大全:767个小程序
  5. Ubuntu中锐捷客户端的配置与使用
  6. 接触wxWindows
  7. PMP培训班内部资料,免费分享
  8. 天锐绿盾防泄密软件新功能二期优化预告
  9. Linux之shell命令
  10. python爬取景点数据看该去哪里玩——南京篇