Linux grep如何进行统计,grep统计匹配行数命令怎么用?

Linux grep 命令统计技巧

grep 是 Linux 系统中用于文本搜索的强大工具,除了搜索文本,它还可以配合不同的参数实现高效的统计功能。

统计包含匹配项的行数 (-c)

使用 -c (count) 参数可以统计文件中包含指定模式的 行数

每天一个Linux命令-grep
加载中
每天一个Linux命令-grep
  • 基本语法:
    grep -c "关键词" 文件名
  • 示例:统计 access.log 中包含 “404” 的行数:
    grep -c "404" access.log

统计匹配项的总次数 (-o + wc)

注意-c 参数仅统计包含匹配项的行数,如果一行中出现了多次关键词,-c 依然只计数为 1,如果你需要统计

Linux grep如何进行统计,grep统计匹配行数命令怎么用?

出现的总次数,需要结合 -o (only-matching) 和 wc -l (word count) 命令。

  • 实现原理:-o 将每个匹配项单独输出为一行,然后通过管道传给 wc -l 进行行数统计。
  • 示例:统计文件中 “error” 出现的总次数:
    grep -o "error" 文件名 | wc -l

统计多个文件中的匹配行数

你可以直接在 grep 命令后指定多个文件或使用通配符。

  • 统计当前目录下所有 .log 文件中包含 “Failed” 的行数:
    grep -c "Failed" .log
  • 如果想统计所有文件的总和,可以结合 -h 参数(不显示文件名):

    Linux grep如何进行统计,grep统计匹配行数命令怎么用?

    grep -h "Failed" .log | wc -l

忽略大小写统计 (-i)

在统计时,如果需要忽略大小写,可以添加 -i 参数。

  • 示例:统计包含 “Warning”、”warning” 或 “WARNING” 的行数:
    grep -ic "warning" 文件名

统计不包含某模式的行数 (-v)

使用 -v (invert-match) 参数可以反向选择,统计不包含指定关键词的行数。

  • 示例:统计文件中不包含 “success” 的行数:
    grep -vc "success" 文件名

进阶:统计词频分布 (配合 sort 和 uniq)

如果你想统计文件中每个单词出现的频率,可以结合 sort

Linux grep如何进行统计,grep统计匹配行数命令怎么用?

uniq 命令。

  • 示例:提取所有单词并按出现次数排序:
    grep -oE "[a-zA-Z]+" 文件名 | sort | uniq -c | sort -nr
  • 命令解析:
    • -oE:匹配单词并使用扩展正则表达式。
    • sort:排序以便 uniq 处理。
    • uniq -c:统计重复出现的次数。
    • sort -nr:按数字逆序排列,显示出现频率最高的词。
  • grep -c:统计包含关键词的行数。
  • grep -o | wc -l:统计关键词出现的总次数。
  • grep -ic:忽略大小写统计行数。
  • grep -vc:统计不包含关键词的行数。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/489034.html

(0)
Flash Player怎么用,如何安装Flash插件?
上一篇 2026年7月12日 22:52
什么是fork join和mapreduce,如何优化性能?
下一篇 2026年7月12日 22:53

相关推荐

  • Linux挂载cdrom失败怎么办?Linux挂载光驱详细教程

    在 Linux 系统中挂载 CD-ROM(光驱)通常涉及以下几个步骤,由于现代 Linux 发行版(如 Ubuntu、CentOS、RHEL、Fedora 等)大多使用 udev 自动管理设备,有时光驱会自动挂载,但手动挂载也很常见,以下是详细的操作步骤:确认光驱设备名称你需要知道光驱在系统中的设备文件路径,常……

    2026年7月10日
    4810
  • Linux shell中system怎么用?system函数与system命令区别

    Linux Shell System 是操作系统内核与用户之间的交互接口,通过脚本自动化和管道机制,它能将复杂的系统管理任务转化为高效、可重复执行的指令流,是运维工程师掌控服务器核心能力的基石,想象一下,你的服务器是一台精密运转的巨型工厂,而 Linux Shell 就是那个站在控制台前、手握无数开关的操作员……

    2026年7月4日
    4800
  • linux独占串口怎么设置?linux独占串口配置方法

    在 Linux 系统中,串口(Serial Port,如 /dev/ttyS0、/dev/ttyUSB0 等)默认是共享资源,这意味着多个进程可以同时打开同一个串口设备,这通常会导致数据冲突、丢包或通信失败,要实现独占串口(Exclusive Access),确保只有一个进程能访问该串口,有以下几种主要方法:使……

    2026年7月12日
    3200
  • 如何制作Linux命令?linux自定义命令开发教程

    制作Linux命令的核心在于编写可执行脚本或编译源代码,并通过chmod赋予执行权限,使其成为系统可识别的工具,在Linux的世界里,命令不仅仅是键盘敲击的产物,更是用户与内核对话的桥梁,很多初学者面对满屏的代码感到畏惧,但事实上,定制一个属于自己的命令,就像是在厨房裡为自己量身打造一把顺手的菜刀,你不需要成为……

    2026年7月8日
    8600
  • Linux中cd命令怎么用?cd命令切换目录详解

    在 Linux 系统中,cd 命令(Change Directory)是最基础且最常用的命令之一,用于切换当前工作目录,以下是 cd 命令的详细用法、常用场景及技巧:基本语法cd [目录路径]常用用法示例✅ 切换到指定目录cd /home/user/Documents这会切换到 /home/user/Docum……

    2026年7月10日
    17800
  • Oracle 12514错误怎么解决?Linux下Oracle 12514错误处理方法

    Oracle 12514 错误在 Linux 环境下通常由监听器未识别到目标数据库实例引起,核心解决路径是检查 listener.ora 配置、重启监听服务或等待动态注册生效,这个错误就像是你打电话给公司总机,总机接了电话,但说“查无此人”或者“该部门未注册”,在 Oracle 数据库运维中,Oracle 12……

    2026年7月6日
    4600
  • linux退出帮助怎么操作?linux退出帮助命令

    在Linux终端中,直接输入exit或按Ctrl+D组合键即可安全退出当前会话或Shell环境,若需强制终止进程则使用kill命令配合进程ID,很多刚接触Linux的用户在面对黑底白字的终端界面时,往往会产生一种“被困住”的焦虑感,这种焦虑通常源于对退出机制的不熟悉,或者误以为需要像图形界面那样寻找一个显眼的……

    2026年7月7日
    14000
  • Linux Shell和Python如何选择?linux shell和python哪个更好

    Linux Shell 和 Python 是两种非常强大且互补的工具,常用于自动化任务、系统管理、数据处理和软件开发,下面我将分别介绍它们的特点、常见用法以及如何在 Linux 环境中结合使用,Linux Shell 简介什么是 Shell?Shell 是用户与操作系统内核之间的接口,负责解释并执行命令,常见的……

    2026年7月12日
    19500
  • linux内存占用高怎么办,linux查看内存使用率命令

    Linux内存监测的核心在于结合free、top及vmstat等工具,重点区分“可用内存”与“空闲内存”,通过监控Swap交换分区的使用率和页面换入换出频率,即可精准定位内存瓶颈,很多运维新手在排查Linux服务器卡顿问题时,往往被free -h命令输出的数据误导,看到“Available”内存还有几个G,就以……

    2026年7月8日
    15300
  • linux如何修改crontab?linux定时任务crontab配置方法

    修改Linux crontab的核心方法是使用crontab -e命令进入编辑模式,保存退出后系统会自动加载新配置,无需重启服务即可生效,在Linux系统运维中,定时任务调度是自动化脚本执行的关键环节,很多初学者面对黑漆漆的终端界面时,往往不知道如何安全地添加或修改定时任务,crontab并不是一个需要频繁手动……

    2026年7月6日
    12100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注