命令grep简介

  利用该命令在文本中查找指定的字符串,是Linux中最常用的文本处理工具之一。

  命令grep与正则表达式结合使用时,功能会非常强大。

  命令grep会在文本文件中按照指定的正则表达式进行全局搜索,并将搜索出的行打印出来。

常用选项

  1. -i,忽略大小写

  2. -n,显示结果所在行号

  3. -c,统计匹配到的行数(注,不是匹配到的次数)

  4. -o,只显示符合条件的字符串,而不是整行

  5. -v,反选,显示出不符合的行

  6. -w,匹配的是整个单词

  7. -Ax,结果所在行之后的指定行数,x为行数

  8. -Bx,结果所在行之前的指定行数,x为行数

  9. -Cx,结果所在行之前和之后的指定行数,x为行数

  10. -e,实现多个选项的匹配,逻辑or关系

  11. -q,静默模式,不输出任何信息

     eg. 当只关心是否匹配到的时候,使用此命令,然后,使用“echo $?”查看是否匹配成功,当返回0,表示成功,当返回1,表示失败

  

实例讲解

  1.  为了方便实验,存在两个用来测试的文本文件test.txt和test1.txt,内容如下所示

    

  2. 若在文本test.txt中,区分大小写地查找带有字符串“grep”的行,则有

    

    注意,默认情况下,grep是区分大小写的

  3. 若在文本test.txt中,不区分大小写地查找带有字符串“grep”的行,使用选项“-i”,则有

    

  4. 若在文本test.txt中,在区分大小写的同时,带行号的查找带有字符串“grep”的行,使用选项“-n”,则有

    

  5. 若在文本test.txt中,统计出现字符串“grep”的行数,使用选项“-c”,则有

    

    注意,所显示的内容中,并不包含对应的行内容,仅包含行数

  6. 若在文本test.txt中,不区分大小写地显示所符合的字符串“abc”,使用选项“-i”和“-o”,则有

    

    注意,并不能去重!!!

  7. 若在文本test.txt中,显示出不含有字符串“grep”的行,使用选项“-v”,则有

    

  8. 若在文本test.txt中,显示带有单词“grep”,而不是包含字符串“grep”的行,使用选项“-w”,则有

    

  9. 若在文本test1.txt中,找出年龄为18岁的同学的姓名,则使用选项“-Bx”,则有

    

    若要显示名为“李四”的年龄和性别,则有

    

    若要显示性别为“男”的同学的姓名、年龄、职业和籍贯,则有

    

  10. 若在文本test.txt中,显示出带有字符串“grep”或“abc”的行,使用选项“-e”,则有

    

    或使用“egrep”也可以

    

  11. 若在文本test.txt中,仅仅查看是否存在字符串“grep”,而不用显示对应的行,则有

    

    注意,选项“-q”是静默模式的,若想查看是否查询成功,则可以显示出“$?”的值。当“$?”为0时,表示查询成功,当“$?”为1时,表示查询失败!

Linux日常之命令grep的更多相关文章

  1. 一个不会coding的girl Linux日常之命令awk

    Linux日常之命令awk 参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. ...

  2. 10 程序员必备:Linux日常维护命令

    一.服务器硬件配置 1.查看硬盘及分区情况 # fdisk -l 2.查看分区空间使用情况 可以查看各分区大小.已使用.可用.已使用百分比.挂载情况 1)默认单位为K # df 2)可读性更好的显示, ...

  3. Linux日常维护命令

    对于程序员来说,掌握一些基本的Linux命令是必不可少的,即使现在用不到,在不久的将来也应该会用到.由于Linux有很多命令,每个命令基本可以用一篇文章介绍,所以本文仅总结一些常用命令的常用用法,如有 ...

  4. Linux日常之命令awk

    参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. 具有强大的文本格式化能力 ...

  5. Linux日常使用命令

    pwd  当前目录的路径ls -a 显示隐藏文件ls -l h*  显示所有以h开头的文件ls -d  b*  显示所有以b开头的文件夹ls -l  *.log  所有后缀是.log 的文件dir 显 ...

  6. Linux文本处理命令 -- grep

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  7. Linux查找字符串命令grep(转)

    Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来. ...

  8. Linux 日常维护命令

    1   防火墙配置 1)重启后生效  开启: chkconfig iptables on  关闭: chkconfig iptables off 或者 /sbin/chkconfig --level  ...

  9. 【Linux】撷取命令grep

    什么是撷取命令啊?说穿了,就是将一段数据经过分析后,取出我们所想要的.或者是经由分析关键词,取得我们所想要的那一行! 不过,要注意的是,一般来说,撷取信息通常是针对『一行一行』来分析的, 并不是整篇信 ...

随机推荐

  1. 【剑指offer38】字符串的排列

    如果没有要求字典序排序,则直接采用递归的思想,将字符串的排列看成两步,第一步,交换第一个字母和任意一个字母(包括自己,但不包括和自己相等的其他字母)固定第一个字母,固定第一个字母,然后对后面的字符串也 ...

  2. 什么是 ANR 如何避免它?

    在 Android 上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框.用户可以 ...

  3. New Date API介绍

    一.新的Date API介绍 LocalDateLocalTimeInstantDurationPeriod formatterparsejdk以前的java.util.Date存在的问题 1)比如n ...

  4. C# Selenium FireFox 接入阿布云

    业务需要购买http隧道,发现阿布云还行,使用Selenium本来想要用谷歌浏览器的,但是发现不能直接设置账号,所以选用火狐. 按照官方JAVA示例的改编,其中WebDriver实例化不能直接添加Fi ...

  5. STM32Cube填坑,ST link 下载一次以后无法下载

    ST link 下载一次以后无法下载, 原因是工程设置忘记设置Debug模式

  6. 本地虚拟机部署线上php程序---不需要修改数据库信息

    1.特别注意:拿来线上php程序后一般是不需要修改config.php里面的数据库连接信息的,如果修改了会报错:站点已关闭.所以 2.5 步骤是需要省略的.如果拿来的是最开始的php源码,需要配置原始 ...

  7. 龙芯软硬件培训个人总结-day1

    第一天主要针对的硬件设计,推他们年底要量产的3A4000+7A1000.这里我只记录下自己关注的几个点. 1,3A4000/3B4000处理器 支持256位向量指令:    对处理器封装进行了优化,不 ...

  8. 详解MySql的配置文件my.cnf

    1.Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录. 2.Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.c ...

  9. linxu passwd 给linux用户设置密码 命令

    [root@localhost ~]# passwd # 修改 root 用户的密码 passwd 给linux用户设置密码 命令 passwd www 直接passwd是当前用户设置密码 非交互式修 ...

  10. 小记-----一些linux操作小操作

    lrzsz工具 window系统与linux系统 文件互传      1.在linux系统命令行:sudo yum install lrzsz  或者  yum install lrzsz (输入一个 ...