乐于分享
好东西不私藏

运维效率神器:别只会 wc -l ,解锁 wc 命令的完整统计秘籍

运维效率神器:别只会 wc -l ,解锁 wc 命令的完整统计秘籍

在Linux运维中,统计文本行数、单词数、字节数是高频操作。很多同学对 wc 的印象停留在 wc -l ,但若能熟练掌握其全部能力,这个轻量级命令可以帮你省去大量手动统计和复杂脚本编写的时间,真正实现简单命令,事半功倍。
本文将对 wc 命令进行从基础到实战的完整剖析。

一、wc含义

 wc 全称 word count ,是Linux系统内置的文本统计工具,用于统计文本的行数、单词数、字节数和字符数。它既支持直接对文件进行操作,也支持通过管道处理流数据,具有无依赖、速度快的特点。
wc [选项] 文件名
二、常用参数
wc的主要使用参数有以下四个。
  • -l :统计行数(line)
  • -w:统计单词数(word)
  • -c:统计字节数(byte)
  • -m:统计字符数(char)
小区别:-c是字节(含中文 / 符号占用),-m是纯字符,中文环境优先用-m
三、基础功能
我们先创建一个测试文件ceshi.txt,内容如下:
hello wordhello china你好 世界你好 中国
  1. 默认统计
wc ceshi.txt
统计结果包含4 行、8 个单词、54字节。
2. 只统计行数
wc -l ceshi.txt
3. 统计单次数
wc -w ceshi.txt 
4. 统计字节 / 字符数
wc -c ceshi.txt  #字节wc -m ceshi.txt #字符
四、运维实战场景
基础用法只是最简单的应用,结合管道、日志、脚本、批量统计,才是wc发挥威力的时刻。
场景 1:统计日志行数
统计 nginx 访问日志总条数:
wc -l access.log 
统计linux系统日志messages的错误日志行数:
grep -i error /var/log/messages |wc -l
场景 2:统计进程 / 端口数量
快速看当前系统有多少个sshd进程:
ps -ef |grep sshd |grep -v grep  |wc -l
查看22端口连接数:
ss -anp |grep 22 |wc -l  #端口的所有连接数
ss -anp |grep 22 |grep  ESTAB |wc -l  #已经建立连接的端口数
场景 3:统计代码 / 配置有效行数
排除空行和注释,统计 Nginx 配置有效行数:
grep -v "^$" /etc/nginx/nginx.conf | grep -v "#" | wc -l
场景 4:批量统计多个文件
统计当前目录所有.log文件的总行数:
wc -l /var/log/*.log
只输出行数
 cat /var/log/*.log |wc -l
场景 5:检查命令执行结果是否为空
脚本中判断是否查到数据:
count=$(grep "error" app.log | wc -l)if [ $count -gt 0 ]; then  echo "发现错误日志!"fi
五、wc高频使用技巧
  1. 不显示文件名用管道输入,wc就不会输出文件名,更清爽:
 cat /var/log/*.log |wc -l

2.统计空行 / 非空行

统计文件空行数:

grep "^$" app.log | wc -l
统计非空行:
grep -v "^$" test.log | wc -l
六、总结
  1. wc -l统计的是换行符行数

    最后一行没有换行符,可能少算 1 行,日常日志 / 配置文件无影响。
  2. 中文统计优先用-m-c

    会把中文算成多个字节,-m才是真实字符数。
  3. 管道 +wc组合最常用

    几乎所有运维统计,都是过滤 + 管道 + wc -l。
wc命令没有复杂参数,没有学习门槛,但越熟练,越省力一行命令替代手动数数、这就是运维里小命令大作用的典型代表。
下次统计日志行数、进程数、代码行数敲一行wc,直接事半功倍!
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 运维效率神器:别只会 wc -l ,解锁 wc 命令的完整统计秘籍

猜你喜欢

  • 暂无文章