当前位置: 首页 > news >正文

shell编程:grep - 文本搜索利器(1)

目录

基础选项:

基本搜索 - 在指定文件中查找包含指定字符串的行

忽略大小写 - 查找包含指定字符串的行(忽略大小写)

显示行号 - 显示匹配行的行号

只显示匹配次数 - 统计匹配行的数量

反向匹配 - 显示不包含指定字符串的行

精确匹配整个单词 - 只匹配完整的单词

递归搜索目录 - 在当前目录及子目录中搜索

只显示文件名 - 显示包含匹配内容的文件名


基础选项:

基本搜索 - 在指定文件中查找包含指定字符串的行

grep "pattern" file.txt
表示在指定的file.txt文件中搜索包含pattern字符串的行
详细解释
grep:文本搜索命令
"pattern":搜索模式,查找包含"pattern"字符串的行(一般使用双引号将字符串括起来)
file.txt:目标文件
区分大小写,只匹配小写"pattern"(默认情况下区分大小写)

忽略大小写 - 查找包含指定字符串的行(忽略大小写)

grep -i "pattern" file.txt
表示在指定的file.txt文件中查找包含pattern的行,不区分pattern的大小写
详细解释
-i:忽略大小写选项
匹配"pattern"、"Pattern"、"PATTERN"等所有大小写变体
echo -e "\n":输出换行符,美化输出格式

显示行号 - 显示匹配行的行号

grep -n "pattern" file.txt
表示在指定的文件file.txt中查找包含pattern字符串的行,并显示该行行号
详细解释
-n:显示行号选项
输出格式为"行号:匹配行内容"
便于定位匹配内容在文件中的位置

只显示匹配次数 - 统计匹配行的数量

grep -c "pattern" file.txt
表示在file.txt文件中查找包含pattern字符串的行数
详细解释
-c:计数选项
只输出匹配行的总数,不显示具体内容
用于快速统计出现频率

反向匹配 - 显示不包含指定字符串的行

grep -v "pattern" file.txt

表示在file.txt文件中查找不包含pattern的行

详细解释
-v:反向匹配选项(invert match)
输出所有不包含指定模式的行
用于过滤不需要的内容
这些选项都可以组合使用,比如 -vi 表示反向匹配选项且不区分大小写

精确匹配整个单词 - 只匹配完整的单词

grep -w "line" file.txt
表示在file.txt文件中只匹配包含line整个单词的行
详细解释
-w:单词边界匹配选项
只匹配完整的"line"单词,不匹配"line"作为其他单词的一部分(如"inline")
不加 -w 选项则匹配的时候会查找匹配字符串作为其他单词的一部分(如"inline"也会匹配到)
使用单词边界\b 实现

递归搜索目录 - 在当前目录及子目录中搜索

grep -r "pattern" ./
表示从当前工作目录开始递归搜索内容包含pattern字符串的文件
详细解释
-r:递归搜索选项
在当前目录(./)及其所有子目录中搜索
输出格式包含文件路径
使用 find 从根目录查找文件时不需要加 -r 选项

只显示文件名 - 显示包含匹配内容的文件名

grep -l "pattern" *.txt
表示查找所有内容包含pattern字符串的以.txt结尾的文件
详细解释
-l:只显示文件名选项
不输出匹配内容,只列出包含匹配项的文件名
通配符*.txt 匹配所有 txt 文件
这里的*是通配符,表示0到多个任意的字符
http://www.dtcms.com/a/399634.html

相关文章:

  • 网站建设制作公司地址做照片书网站
  • 鸿蒙Next远端状态订阅开发实例:实现进程状态监控与资源管理
  • 济宁做网站的WordPress重新安装删除哪个
  • Deep Residual Learning for Image Recognition 阅读笔记
  • 【AI】【Java后端】深度解析 RAG 高级功能:从原理到落地实践
  • 微信移动网站建设做电影网站用什么空间
  • 银行测试存款业务(四)
  • C#练习题——匿名方法与闭包实战:函数式编程的优雅实现
  • 西安有哪些网站设计公司seo排名优化推广报价
  • 深圳安鸿源建设网站上海网站建站建设服务
  • H3C 三层VLAN路由实验
  • 深圳做购物网站小米发布会8月
  • 【GPT入门】第71课 autogen介绍与代码实现股票分析汇报多智能体
  • 网页源码 html源码网站 网页源代码模板
  • 北京网站优化前景集团网站策划方案
  • 怎么打帮人做网站开发的广告常熟市住房建设局网站
  • 深度学习(6)pytorch
  • 函数(Num008)
  • MySQL8.0版本在Windows下进行安装
  • 站长seo工具图文素材库免费
  • 前端核心框架vue之(指令篇1/5)
  • 山东小语种网站建设免费高清视频素材app哪里找
  • 嵌入式Python环境深度解读与精益裁剪指南
  • 如何排查Windows事件ID 7000 服务启动失败
  • Java面试题大全1000+面试题附答案详解
  • LangChain:LLMs和ChatModels介绍、LangChain 集成大模型的本地部署与 API 调用实践、提示词prompt、输出解析器、链
  • spring中手动事务控制(提交、回滚事务)
  • 高端医疗网站开发用广州seo推广获精准访问量
  • 如何让本地使用 Ollama 部署的开源大模型(LLM)识别图片和 Excel 文件
  • 高低温试验有哪些类型?委托第三方做高低温试验的流程