Linux基本命令之grep命令常见用法

阅读大概需要5分钟

作者 上善若水 编辑 zenRRan

Linux基本命令

grep命令常见用法

grep命令可以说是Linux下面最常用的文本处理工具了,那么究竟我们可以用grep命令做什么了?首先我们想一想在windows下是我们是如何在整个文本中寻找我们所需的内容的,比如说我想在grep.txt文档中寻找字符串"hello",肯定不是一行一行用眼睛去扫描,我们只需要打开该文件,使用快捷键Ctrl+F然后在弹出的小框中输入我们要查的”hello”,就能迅速的定位到”hello”字符串了。好了,现在我们可以说说grep了,其实很简单,它的功能和前面所讲windows下的组合键Ctrl+F类似,都是方便我们用来搜索文本的。

既然grep这么有用,那么我们现在一起来学习它,首先准备一个测试文件用来说明grep的用法,如下图所示,各位看官就不要纠结文件内容,内容没有任何意义,纯属只是用来验证grep用法的。

Linux下基本上每个命令都有很多参数,grep也不例外,不要求每个参数都了如指掌,我们只需掌握几个常见的参数就足够应付日常工作所需了,现在一起来看看grep究竟有哪些参数以及这些参数的用途。

1

不加参数

grep最简单的用法就是不加任何参数,比如说,我们想要在grep.txt文件中找到含有字符串"hello"的所有行,那么我们可以

2

-n

-n参数可以让你在显示所匹配到的内容时同时显示行号,还是在grep.txt文件中找到含有字符串"hello"的所有行 ,这次我们加了-nc参数,看看和上面的输出有什么不同

3

-i

可以使用-i选项在匹配时忽略大小写,比如说

4

--color

看看上面的输出,还是觉得有点不太爽,输出都是白色字体,我们要找的hello到底在一行的什么位置还是需要我们用眼睛费力的去看,其实,grep提供了一个参数完全可以解放我们这种不必要的劳力,就是--color 参数,不过需要注意的一点是,这是个长选项参数,Linux命令的参数分为长选项参数 和短选项参数,长选项参数前是2个-。好了,还是用上面的文件做个测试看看。

5

-o

在前面的实例中,包含匹配词的行整行都会被打印出来,但是有时候我们并不需要整行打印,只是想看到被匹配的关键词,这时候就需要用到-o 选项了,如下所示。

6

-A / -B / -C

某些情况下,我们不仅需要显示关键词匹配的行,还需要显示所匹配行的前后行信息,这时候就需要用到-A/-B/-C这三个参数了,

其中: -A n(n是一个整数)--->表示将匹配行的后n行也显示

-B n(n是一个整数)--->表示将匹配行的前n行页显示

-C n(n是一个整数)--->表示将匹配行的后n行也显示

看的有点晕?没关系,看看下面的例子就明白了。为了方便阅读,将测试所需的文件内容在此处再贴出来。

7

-v

有时候我们需要反向查找,也就是说,查找的行是不含所给出的匹配词的,-v参数就是实现这个功能的,还是看例子:找出grep.txt文件中不含"hello"的行

原文发布于微信公众号 - 深度学习自然语言处理(zenRRan)

原文发表时间:2018-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安恒网络空间安全讲武堂

writeup分享 | 近期做的比较好的web

0x01猫头鹰嘤嘤嘤 http://124.128.55.5:30829/index.php 首先分析一下功能,随便上传一张jpg图片上传,跳转到 http...

5908
来自专栏开源优测

接口测试 | urllib篇 19 urllib基本示例

概述 本章就要就urllib中parse、request模块的重点API进行说明,也是以后大家最常用到的API。 本文不会列举所有的API。 本文以实例方式演示...

2949
来自专栏xcywt

《Linux命令行与shell脚本编程大全》第十一章 构建基本脚本

11.1使用多个命令 $date;who   //  命令列表,加入分号就可以,这样会依次执行。参见5.2.1节 注意区分$(date;who),这个是进程列表...

2057
来自专栏用户画像

Linux grep查找文件中的关键字

版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。 https://blog.csdn.net/jxq0816/article/d...

7611
来自专栏小筱月

shell 文本操作命令

:s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”

1282
来自专栏Python

Django视图层之路由配置系统(urls)

视图层之路由配置系统(urls) URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就...

2189
来自专栏python百例

29-文件对象基础操作

1042
来自专栏java思维导图

Linux 基础命令(收藏大全)

/home 普通用户的宿主目录,用户数据存放在其主目录中lib 存放必要 的运行库

1013
来自专栏Python绿色通道

Python的线程

Python的标准库提供了两个模块: thread 和threading,thread 是低级模块,threading是高级模块,对thread 进行了封装。绝...

1543
来自专栏java思维导图

Vim 命令、操作、快捷键(收藏大全)

以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。

1043

扫码关注云+社区

领取腾讯云代金券