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

判断一个文件中以三个#号开头有多少行的shell脚本怎么写

  • 在Linux中,你可以使用grep命令结合正则表达式来统计一个文件中以三个#号开头的行数。以下是一个简单的命令:
grep -c '^###' filename
  • 这里的grep是搜索工具,-c选项表示统计匹配的行数,'###'是正则表达式,表示行的开头()紧跟着三个#号(###),filename是你要搜索的文件名。

例如,如果你的文件名是example.txt,你可以运行:

grep -c '^###' example.txt
  • 这个命令会输出example.txt文件中以三个#号开头的行数。

  • 如果你想要更加灵活的搜索,比如在当前目录及其子目录中的所有文件中搜索,你可以使用find命令结合grep:

find . -type f -exec grep -c '^###' {} + | awk '{sum+=$1} END {print sum}'
  • 但是,上面的命令会输出每个文件的匹配行数,并在最后通过awk汇总总数。如果你只想要总数,并且确定只在一个文件中搜索,那么直接使用grep -c就足够了。

  • 如果你想要对每个匹配的文件分别输出行数,并且不汇总,可以使用:

grep -c '^###' *
  • 或者,如果你想要递归搜索当前目录及其子目录中的所有文件,可以使用grep的-r(或–recursive)选项:
grep -rc '^###' .
  • 但是请注意,-r选项会搜索所有类型的文件,包括二进制文件。如果你只想搜索文本文件,可以结合find命令和文件类型检查来实现。
http://www.lryc.cn/news/543702.html

相关文章:

  • PHP如何与HTML结合使用?
  • 计算机网络之传输层(传输层的功能)
  • 矩阵碰一碰发视频源码搭建之,支持OEM
  • DeepSeek 2月27日技术突破:三大核心功能解析与行业影响
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.2.2倒排索引原理与分词器(Analyzer)
  • Vue.js响应式基础
  • DeepSeek-OpenSourceWeek-第四天-Optimized Parallelism Strategies
  • 深入浅出:插入排序算法完全解析
  • 【Keras图像处理入门:图像加载与预处理全解析】
  • 企业级AI办公落地实践:基于钉钉/飞书的标准产品解决方案
  • 对于邮箱地址而言,短中划线(Hyphen, -)和长中划线(Em dash, —)有区别吗
  • C++ STL(三)list
  • Vue3+TypeScript 封装一个好用的防抖节流自定义指令
  • HarmonyOS+Django实现图片上传
  • vscode 版本
  • Python 爬虫实战案例 - 获取拉勾网招聘职位信息
  • 结构型模式---外观模式
  • Docker数据卷操作实战
  • 技术速递|Copilot Usage Advanced Dashboard 教程
  • 【Python爬虫(90)】以Python爬虫为眼,洞察金融科技监管风云
  • Shell学习(1/6) 教程-变量
  • 《Qt窗口动画实战:Qt实现呼吸灯效果》
  • RabbitMQ系列(六)基本概念之Routing Key
  • Spring Boot 集成 Kafka
  • CentOS中shell脚本对多台机器执行下载安装
  • 浅析eBPF
  • HTML 基础 (快速入门)详细步骤和示例
  • 力扣-动态规划-139 单词拆分
  • 建筑能耗监测系统数据采集装置 物联网网关功能参数介绍
  • vue深拷贝:1、使用JSON.parse()和JSON.stringify();2、使用Lodash库;3、使用深拷贝函数(采用递归的方式)