grep命令作为Unix中用于文本搜索的神奇工具,能够接受正则表达式,生成各种格式的输出。除此外,它还有大量有趣的选项。

# 搜索包含特定模式的文本行:
[root@centos8 ~]#grep pattern filename # 可以从stdin中读取:
[root@centos8 ~]#echo -e "this is a word\nnext line" | grep word
this is a word # 单个grep命令也可以对多个文件进行搜索:
[root@centos8 ~]#grep "a_txt" file1,file2,file3 ... # 用--color选项可以在输出行中着重标记出匹配到的单词:
[root@centos8 ~]#grep word a.txt --color=auto
nihoa word hell okd old edu # grep命令只解释match_txt中的某些特殊字符。如果要使用正则表达式,需要添加-E选项————这意味着使用扩展正则表达式。或者也可以使用默认允许正则表达式的grep命令————egrep。
[root@centos8 ~]#grep -E "[a-z]+" filename
[root@centos8 ~]#egrep "[a-z]+" filename # 使用选项-o 可以只输出文件中匹配到的文本部分:
[root@centos8 ~]#echo this is a line. | egrep -o "[a-z]+\."
line.
# 不加 o 的输出结果
[root@centos8 ~]#echo this is a line. | egrep "[a-z]+\."
this is a line. # 选项 -v 要打印除包含match_txt行之外的所有行:
[root@centos8 ~]#grep -v math_txt filename # 选项 -c 统计文件或文本中包含匹配字符串的行数:
[root@centos8 ~]#grep -c "word" a.txt
# 注意:-c 只是统计匹配行的数量,并不是匹配的次数,例如:
[root@centos8 ~]#echo -e "1 2 3 4\nhello\n5 6" > a.txt
[root@centos8 ~]#cat a.txt
1 2 3 4
hello
5 6
[root@centos8 ~]#egrep -c "[0-9]" a.txt
2 # 搜索多个文件并找出匹配文本位于哪一个文件中:
[root@centos8 ~]#grep -l linux a.txt b.txt
a.txt
b.txt
和-l 相反的选项是-L,它会返回一个不匹配的文件列表

二、grep文本搜索工具的更多相关文章

  1. [linux] grep 文本搜索工具

    grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...

  2. grep文本搜索工具详解

    ############grep命令############这个命令属于文本处理三大命令之一,强大的文本搜索工具(贪婪模式)全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达 ...

  3. grep文本处理工具

    grep是一款文本过滤工具,基于正则表达式进行模式匹配sed:stream editor 流编辑器awk:linux上实现为gawk,文本报告生成器(格式化文本)文本搜索工具,根据用户指定的模式,对目 ...

  4. shell脚本学习指南-grep文本搜索命令-学习(3)

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  5. shell脚本基础和grep文本处理工具企业应用3

    文本处理工具:    linux上文本处理三剑客        grep,egrep,fgrep:文本过滤工具(模式:pattern)工具            grep:默认支持的是基本正则表达式: ...

  6. 基于文本图形(ncurses)的文本搜索工具 ncgrep

    背景 作为一个VIM党,日常工作开发中,会经常利用grep进行关键词搜索,以快速定位到文件.如图: 利用grep进行文本搜索 但是,这一过程会有两个效率问题: 展示的结果无法进行直接交互,需要手动粘贴 ...

  7. 系统资源监控——联用awk与grep文本处理工具,截取磁盘使用量字段

    一.使用到的命令行 1.df : df -h #将磁盘使用量用表的形式呈现. 2.awk: awk '{print $5}' #默认分隔符是空格,$后的数字是指定从第几列开始截取. awk -F [] ...

  8. shell脚本基础和grep文本处理工具企业应用4

    文本处理工具:    egrep:        支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E        egrep [OPTIONS] PATTERN [FILE...]  ...

  9. 用深度学习做命名实体识别(二):文本标注工具brat

    本篇文章,将带你一步步的安装文本标注工具brat. brat是一个文本标注工具,可以标注实体,事件.关系.属性等,只支持在linux下安装,其使用需要webserver,官方给出的教程使用的是Apac ...

随机推荐

  1. 记录一个SQL语句 case select 1

    select Code, CodeName, CodeAlias, ComCode, OtherSign from ldcode where codetype = 'edorapptype' and ...

  2. 在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

    前段时间在 CentOS 7.5 64位上安装 MySQL 8.0.查了些资料,在这里记录一下详细的安装和设置步骤. 一.安装 使用yum安装MySQL之前需要先下载对应的.rpm文件,下载方法: 去 ...

  3. leetcode最短无序连续子数组

    平民解法: 既然是找最小数组,那就得到一个排序好的数组,然后直接和初试数组比对,用一个left,right分别记录从最初开始不同,到最后不同的小标,最后左右做差再加一,就能得到长度. 其他解法: 双指 ...

  4. python实现常用五种排序算法

    一.冒泡排序 原理: 比较相邻的元素.如果第一个比第二个大就交换他们两个 每一对相邻元素做同样的工作,直到结尾最后一对 每个元素都重复以上步骤,除了最后一个 第一步: 将乱序中的最大值找出,逐一移到序 ...

  5. OEM 刷新配置方法

    一:设置>添加目标>配置自动搜索 二:主机上的目标>针对所选的主机 三:禁用调度 四:设置>添加目标>自动搜索结果 五:主机上的目标,搜索结果 六:删除 七:选择机器数据 ...

  6. Vue实现多文件上传功能(前端 + 后端代码)

    本人业余前端开发,因为公司(很坑)觉得我很牛逼,所以让我前后端一起玩,无奈的我只能磕磕碰碰的研究起了vue. 开发项目的时候,用到文件上传的功能很常见,包括单文件上传和多文件上传,上传各种类型的文件. ...

  7. alpakka-kafka(7)-kafka应用案例,消费模式

    上篇描述的kafka案例是个库存管理平台.是一个公共服务平台,为其它软件模块或第三方软件提供库存状态管理服务.当然,平台管理的目标必须是共享的,即库存是作为公共资源开放的.这个库存管理平台是一个Kaf ...

  8. Redmine Notes

    Mandatory authenticaion: login as Administrator, Settings -> Authentication -> Check "Aut ...

  9. Java 多线程与并发【原理第二部分笔记】

    Java 多线程与并发[原理第二部分笔记] 什么是Java内存模型中的happens-before Java内存模型,即JMM,本身是一种抽象的概念,并不是真实存在的,他描述的是一组规则或者说是一种规 ...

  10. Sqli-Labs less17-19

    less-17 前置基础知识: UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为XML文 ...