grep使用

简介:

######################### grep 使用 ###############
测试数据:
line1: What's that smell?
line2: What's that noise?
line3: What is this line for?
line4: What are you up to?
line5: May I ask you a question?
line6: What does "drowsy" mean?
line7: What's this?
line8: What's that?
line9: Who does this belong to?
line10: Which one?

#1 显示匹配this行后再显示下2行 (参数 -A)
grep this -A 2 testfile.txt

#2 显示匹配this行周围的上2行 (参数 -B)
grep -B 2 this testfile.txt 

显示匹配May行上下2行

grep May -B 2 -A 2 test 

#3 显示匹配行上下各2行 相当于上面(AB)组合 (参数 -C)
grep -C 2 drowsy testfile.txt 

#4 忽略二进制文件搜索 (参数 -I)
grep this -I testfile.txt 

#5 显示匹配加颜色 (参数 --colour)
  grep this --colour=auto testfile.txt
  或者
  export GREP_COLOR='1;32'
  grep this --colour=auto testfile.txt  

#6 计算匹配成功多少行 (参数 -c)
   grep -c What testfile.txt 

#7 显示过滤掉this 即:显示不匹配的行 (参数 -v)
grep -v 'this' testfile.txt

#8 搜索套接字、管道和销售队列等 (参数 -D ACTION)

#9 正则表达式搜索 (参数 -E) 相当于egrep
grep -E 'What|May' testfile.txt 
grep -v -E 'Wh|this' testfile.txt 

#10 输出匹配行的同时输出所属文件名 (参数 -H)
grep -H -E 'this|ye' testfile1.txt testfile.txt 
grep -HEn 'this|ye' testfile1.txt testfile.txt 

#11 输出匹配行的不输出所属文件名 (参数 -h)
grep -E -h 'this|ye'   testfile.txt testfile1.txt    

#12 忽略大小写 (参数 -i)
grep wh -i testfile.txt 

#13 显示不匹配的文件名(搜索出那些文件不包含匹配yeqing) (参数 -L)
grep yeqing -L testfile*   

#14 显示匹配的文件名 (哪些文件包含匹配 yeqing) (参数 -l)
grep yeqing -l testfile*

#15 搜索最多匹配行(参数 -m)
grep yeqing -m 2  testfile.txt 

#16 打印匹配的行号 (参数 -n)
grep Wh -n testfile.txt 

#17 只显示匹配的部分
grep -o this testfile.txt 

#18 不打印,搜索到返回0 (参数 -q)
grep -q ye testfile1.txt 
echo $?

#19 忽略错误信息 (参数 -s)
[root@home-backup scripts]# grep -s sss ss./a
[root@home-backup scripts]# grep  sss ss./a
grep: ss./a: 没有那个文件或目录


#20 简单正则

 ##1 以yeqing开头的匹配

    grep '^yeqing' test 

 ##2 以yeqing结尾的匹配

    grep 'yeqing$' test 

 ##3 匹配一个指定范围内的字符

    grep '[qM]' test 

 ##4 匹配第一个字符范围是A到Z,第二个字符范围是0-9,第三个字符是yeqing的行

    grep '[A-Z][0-9]yeqing' test


待续......


参考资料:

http://www.gnu.org/software/grep/manual/grep.html

http://www.debian-administration.org/articles/460

http://www.regular-expressions.info/posix.html 


本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1597042


相关文章
|
数据采集 JSON JavaScript
Python爬虫案例:抓取猫眼电影排行榜
python爬取猫眼电影排行榜数据分析,实战。(正则表达式,xpath,beautifulsoup)【2月更文挑战第11天】
605 2
Python爬虫案例:抓取猫眼电影排行榜
|
7月前
|
消息中间件 Java 数据库
RocketMQ实战—9.营销系统代码初版
本文主要介绍了实现营销系统四大促销场景的代码初版:全量用户推送促销活动、全量用户发放优惠券、特定用户推送领取优惠券消息、热门商品定时推送。
RocketMQ实战—9.营销系统代码初版
|
8月前
|
存储 分布式计算 监控
阿里云服务器实例经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i详解与选择策略
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出更加精准的选择。
|
Python
Python编程--使用NMAP端口扫描
Python编程--使用NMAP端口扫描
187 1
|
机器学习/深度学习 人工智能 物联网
探索云平台:构建未来计算的基石
本文旨在深入探讨云平台的基本概念、核心优势及其在现代IT架构中的关键作用。我们将从云计算的起源讲起,逐步解析云平台的运作机制,并通过具体案例展示其如何推动企业创新和效率提升。无论是创业者还是资深技术专家,了解云平台的本质和发展动向,都是把握未来科技趋势的重要一步。
409 2
|
缓存 Shell iOS开发
修改 torch和huggingface 缓存路径
简介:本文介绍了如何修改 PyTorch 和 Huggingface Transformers 的缓存路径。通过设置环境变量 `TORCH_HOME` 和 `HF_HOME` 或 `TRANSFORMERS_CACHE`,可以在 Windows、Linux 和 MacOS 上指定自定义缓存目录。具体步骤包括设置环境变量、编辑 shell 配置文件、移动现有缓存文件以及创建符号链接(可选)。
3493 2
|
监控 数据可视化 安全
「译文」CMDB 最佳实践技术指南 -1-CMDB 可视化 - 最佳实践与示例
「译文」CMDB 最佳实践技术指南 -1-CMDB 可视化 - 最佳实践与示例
|
存储 供应链 安全
构建未来:智能合约在区块链生态系统中的关键作用
【5月更文挑战第30天】 随着区块链技术的迅猛发展,智能合约已成为推动这一领域创新的核心机制。本文深入探讨了智能合约的技术基础、运作原理及其在各行各业中的应用潜力。我们将分析智能合约如何提高交易效率,减少法律纠纷,并为分布式应用(DApps)提供坚实的基础。文章还将讨论智能合约面临的挑战与未来的发展方向,为读者提供一个全面且深入的视角,以理解这一变革性技术如何塑造数字经济的未来。
|
Ubuntu 网络安全 虚拟化
【Ubuntu】Win11 VmWare虚拟机安装Ubuntu 22.04.1-server
【Ubuntu】Win11 VmWare虚拟机安装Ubuntu 22.04.1-server
868 1
【Ubuntu】Win11 VmWare虚拟机安装Ubuntu 22.04.1-server
|
传感器 安全 自动驾驶
智能驾驶商业化要求
智能驾驶商业化要求
230 0