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. transform——转换

    ① 位移 transform:translate(x,y);     同时x轴和y轴的位移 translate(x);        在x轴上的位移 同 translateX(x) translate ...

  2. 教你如何使用FusionInsight SqoopShell

    摘要:Sqoop-shell是一个Loader的shell工具,其所有功能都是通过执行脚本"sqoop2-shell"来实现的. 本文分享自华为云社区<FusionInsig ...

  3. 做Android开发,你后悔过吗?

    有同学跟我说,编程太难了,总是有学不完的技术.框架,新技术也层出不穷,马上三十了,还有各种学不完的东西,后悔做程序员了 编程对我来讲,还难吗 我主业是做Android的. 我刚学编程的时候,觉得难点在 ...

  4. Deepin Pwn环境的配置

    要学习Pwn  Pwn环境那是必不可少滴! 我是新手,我也弄了好久,这里把经验分享给大家!这里感谢I春秋的"知世"老师的脚本!虽然写的不是很完美.还得我自己动手修改!PS:http ...

  5. shell脚本——awk

    目录 一.awk 1.1.awk简介 1.2.基本格式 1.3.工作原理 1.4.常见的内建变量(可直接用) 按字段输出文本 1.5.awk和getline 有重定向符 无重定向符 1.6.指定分隔符 ...

  6. mybatis源码核心代码

    /** * mybatis源码测试类 * @param args * @throws IOException * @see org.apache.ibatis.session.Configuratio ...

  7. Git-07-分支管理

    创建与合并分支 为什么要创建分支? 假设你准备开发一个新功能,但是需要两周才能完成, 第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完 ...

  8. MongoDB-03-分片集群

    分片集群(Sharding Cluster) 架构图 规划 10个实例:38017-38026 1 configserver:38018-38020 3台构成的复制集(1主两从,不支持arbiter) ...

  9. HTTP缓存——协商缓存(缓存验证)

    协商缓存 所谓"协商",可以理解为:客户端和服务端双方商量着来. 客户端检查资源超过有效期.强缓存命中失败的情况下,则发出请求"询问"服务器是否资源真的过期了, ...

  10. ☕【Java技术指南】「并发原理专题」AQS的技术体系之CLH、MCS锁的原理及实现

    背景 SMP(Symmetric Multi-Processor) 对称多处理器结构,它是相对非对称多处理技术而言的.应用十分广泛的并行技术. 在这种架构中,一台计算机由多个CPU组成,并共享内存和其 ...