一、grep简介

1.介绍

全局查找正则表达式并且打印结果行的命令。

2.输入

一个文件或者一个标准输入(stdin),或者是一个“-”连字符()。

3.输出

打印在屏幕上

4.grep家族扩展命令

egrep、fgrep

二、 Grep命令的应用

1.命令格式

grep [选项] 模式 [文件…]

例如:grep root /etc/passwd

(1) grep在文件/etc/passwd中查找模式root

(2) 如果查找成功,文件中相应的行会显示在屏幕上;如果没有找到指定的模式,就不会有任何输出。

(3) 如果指定的文件不是一个合法文件,屏幕上会显示报错信息。

(4) 如果发现了要查找的模式,grep就返回退出状态0,表示成功;如果没找到,返回的退出状态为1;找不到指定文件时,退出状态将是2。

(5) grep的程序输入可以来自标准输入或管道、文件。

(6) 如果忘了指定文件,grep会以为你要从标准输入获取输入,于是停下来等你键入一些字符。

(7) 如果输入来自管道,就会有另一条命令的输入通过管道变成grep命令的输入。

例如:ps -ef | grep root

ps命令的输出被送到grep,然后所有包含root的行都被打印到屏幕上。

2.原理

grep命令在一个或多个文件中查找某个字符串的模式。

3.注意

(1) 如果模式中包含空格,就必须用引号括起来。

(2) 模式可以是一个被括号括起来的字符串,也可以是单个词。

(3) 位于模式之后所有的单词都被视为文件名。

(4) grep不会对输入文件进行任何修改和变化。

三、正则表达式元字符

grep支持很多正则表达式元字符,以便用户更精确的定义要查找的模式。

四、grep选项

五、grep使用正则表达式示例

1. grep root /etc/passwd

2. grep ^root /etc/passwd

3. grep login$ /etc/passwd

4. grep 'bind Da' /etc/passwd

因为bind和Da中间有空格所以加了单引号,否则只会匹配bind

5. grep '5..' test.txt

打印所有包含5,后面跟一个.号,再跟一个任意字符的行。.代表单个字符,被转义后,只代表本身一个.号

6. grep '^[rt]' /etc/passwd

7. grep '[^0-9]' test.txt

8. grep '[A-Z][A-Z][A-Z]' test.txt

9. grep "root*" /etc/passwd

10. grep '[a-z]{9}' /etc/passwd

11. grep '' test.txt

12. grep '' /etc/passwd

打印所有包含以小写字母开头,以n结尾,中间由任意多个字符组成的单词的行,注意:符号.*代表任意字符,包括空格

六、 grep选项示例

1. grep -n 'north' test.txt

2. grep -i 'pid' test.txt

3. grep -v 'root' /etc/passwd

4. grep -l 'root*' /etc/passwd ~/test.txt

使用-l使grep只输出包含模式的文件名,而不输出文本行

5. grep -c 'root' /etc/passwd

打印含有模式的行的数目

6. grep -w 'north' test.txt

查找作为一个词,而不是词的一部分出现的模式

七、 grep与管道

1. ls | grep 'test'

2. ls | grep ^te

ls命令输出通过管道传给grep

八、 egrep扩展

egrep在grep的基础上增加了更多的元字符。但是egrep不允许使用{},{}

1. egrep使用的正则表达式元字符

2. 示例

grep不支持”|“这个,egrep支持”|“,egrep查到了包含west或north的行

grep 显示包含两个关键字_linux三剑客之-grep相关推荐

  1. linux用grep查找包含两个关键字的命令

    linux用grep查找包含两个关键字的命令 http://zhidao.baidu.com/link?url=VsFxeJXmU7W7hy1UH7eT6QAbUsVz9Ru2ABPuWYHWm4kB ...

  2. 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字

    立志用最少的代码做最高效的表达 笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2.首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大.其次所有结点的 ...

  3. Linux中grep 显示满足多个关键字的内容或排除含有关键字内容

    1.grep 同时满足多个关键字 grep -E "word1|word2|word3" file.txt 满足任意条件(word1.word2和word3之一)将匹配. grep ...

  4. grep 两个字符串_Linux运维工程师想要的12个grep指令

    Linux运维工程师想要的12个grep指令 Linux运维的工程师们通常在文件中查找一个特定的字符串或者样式的时候使用grep,那么好用的grep指令有哪些呢?今天给大家来普及一下grep命令的12 ...

  5. Seaborn使用violinplot函数可视化多分组小提琴图(violin plot)、每个小提琴图内部包含两个分组、使用inner函数设置在小提琴图中使用虚线显示分位数位置

    Seaborn使用violinplot函数可视化多分组小提琴图(violin plot).每个小提琴图内部包含两个分组.使用inner函数设置在小提琴图中使用虚线显示分位数位置(inner = 'qu ...

  6. 文本三剑客之grep、sed、awk

    回顾计划任务内容 小tips:当执行 cd /tmp || mkdir test1时,只有当前面执行cd/tmp执行失败后,后面执行的mkdir test1才会执行. 一次调度执行at 语法格式 at ...

  7. llinux文本三剑客之grep、egrep及相应的正则表达式和用法

    Linux文本三剑客之grep族以及相应的正则表达式 Grep族是什么? Grep族是linux学习中搜索文本的重要工具,它基于使用正则表达式来快速简洁的搜索你想要查看的文本.是搜索文本的不二之选 什 ...

  8. Linux 三剑客(grep、sed、awk)

    grep %全文搜索 Linux 命令三剑客,sed.grep.awk. sed:擅长数据修改. grep:擅长数据查找定位. awk:擅长数据切片,数据格式化,功能最复杂 基本正则表达式元字符 元字 ...

  9. Linux三剑客之grep命令详解及相关实例

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

最新文章

  1. 哈工大威海c语言实验报告 第八章 无法运行程序,哈工大(威海)c语言实验报告册答案...
  2. TensorFlow Lite指南实战,附48页ppt
  3. golang 数组与切片
  4. 计算机挑战音乐,抖音平板加速挑战背景歌曲是什么歌?
  5. 2022年为什么要使用Flutter构建应用程序?
  6. MySQL数据类型--日期时间
  7. no module named 'social_core'
  8. Linux与C++11多线程编程(学习笔记)
  9. NetBeans 时事通讯(刊号 # 67 - Aug 04, 2009)
  10. c#调用带有安全认证的java webservice
  11. 集合 小数据池 深浅拷贝
  12. 【Android】3.24 示例24--OpenGL绘制功能
  13. 4.1 选择IDC机房 4.2 硬件服务器选型 4.3 上架服务器 4.4/4.5 装系统
  14. ES6新特性 - const let var
  15. Linux操作系统基本命令
  16. [转]DataGridView显示行号的几种方法
  17. 宏晶新推出的STC16单片机,有哪些方面的不足?
  18. ARINC615-3 与 ARINC844 PART2 协议解析 思维导图
  19. Inverting Visual Representations with Convolutional Networks论文理解
  20. 没有基础的人如何自学裁缝?

热门文章

  1. 漏洞发布平台-安百科技
  2. C#用DataTable实现Group by数据统计
  3. ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群
  4. 有意思的PHP代码块-面试经典_无需整理
  5. Windows server 2012 之路由功能
  6. 记录每个用户的操作记录(命令)
  7. csu 1008 - Horcrux
  8. Source Code Library 源代码收集器
  9. 绘制基础知识-canvas paint
  10. leetcode 1833. 雪糕的最大数量