Linux日常之命令grep
命令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的更多相关文章
- 一个不会coding的girl Linux日常之命令awk
Linux日常之命令awk 参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. ...
- 10 程序员必备:Linux日常维护命令
一.服务器硬件配置 1.查看硬盘及分区情况 # fdisk -l 2.查看分区空间使用情况 可以查看各分区大小.已使用.可用.已使用百分比.挂载情况 1)默认单位为K # df 2)可读性更好的显示, ...
- Linux日常维护命令
对于程序员来说,掌握一些基本的Linux命令是必不可少的,即使现在用不到,在不久的将来也应该会用到.由于Linux有很多命令,每个命令基本可以用一篇文章介绍,所以本文仅总结一些常用命令的常用用法,如有 ...
- Linux日常之命令awk
参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. 具有强大的文本格式化能力 ...
- Linux日常使用命令
pwd 当前目录的路径ls -a 显示隐藏文件ls -l h* 显示所有以h开头的文件ls -d b* 显示所有以b开头的文件夹ls -l *.log 所有后缀是.log 的文件dir 显 ...
- Linux文本处理命令 -- grep
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Linux查找字符串命令grep(转)
Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来. ...
- Linux 日常维护命令
1 防火墙配置 1)重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 或者 /sbin/chkconfig --level ...
- 【Linux】撷取命令grep
什么是撷取命令啊?说穿了,就是将一段数据经过分析后,取出我们所想要的.或者是经由分析关键词,取得我们所想要的那一行! 不过,要注意的是,一般来说,撷取信息通常是针对『一行一行』来分析的, 并不是整篇信 ...
随机推荐
- python - readline 模块
转载:https://www.cnblogs.com/fireflow/p/4841413.html readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能. ...
- 两个 Activity 之间跳转时必然会执行的是哪几个方法?
一般情况下比如说有两个 activity,分别叫 A,B,当在 A 里面激活 B 组件的时候, A 会调用 onPause()方法,然后 B 调用 onCreate() ,onStart(), onR ...
- 远程连接mysql要点 虚拟主机定义与分类
远程连接mysql:通过主机地址与端口号连接 1. 主机地址:找到主机电脑 2. 端口号:找到对应mysql软件 mysql客户端访问服务端需要进行寻找匹配:连接认证-h 主机地址 例如 -hloca ...
- 拉取代码产生冲突 && 切换分支
1.拉取代码产生冲突 项目中用的主要是 IDEA 编辑器,拉取代码时产生冲突的时候,就先 add + commit 一下,然后再拉取代码,这样子就不冲突了. 拉取过后再push一次. 2.切换一个新增 ...
- nmon报告指标含义
nmon分析文件详细指标详解指标类型指标名称指标含义SYS_SUMMCPU%cpu占有率变化情况:IO/secIO的变化情况:AAAAIXAIX版本号:buildbuild版本号:command执行命 ...
- 工具栏对象GUI Status 与GUI Title
GUI Status 与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容, 可以通过se41\SE80或直接SE38中展开对象列表进行相关操作. 如下是在SE38里,点击[显示物 ...
- Django开发—如何重置migration
情景一:不需要原有的数据库数据 删除数据库所有的表删除项目的migration模块中的所有 文件,除了init.py 文件执行脚本 python3 manage.py makemigrations p ...
- 大觅网07day
分布式日志环境的构建(ELK+Kafka) 主要是搭建分布式日志环境,由ELK+Kafka实现,分为以下四步实现: 一.Elasticsearch环境的搭建和测试 1.删除已经存在的ES容器和镜像,如 ...
- USACO1.6 Number Triangles [dp-简单dp]
题目传送门 回忆童年 /* ID: Starry21 LANG: C++ TASK: ariprog */ #include<iostream> #include<string> ...
- Conetos 下安装docker 和镜像加速
首先升级yum yum update 安装yum-utils,它提供yum-config-manager可以用来配置repo yum install -y yum-utils 使用以下命令设置稳定版 ...