当前位置:首页>Linux>Linux命令每日一清单010:wc--文本计数命令速查表

Linux命令每日一清单010:wc--文本计数命令速查表

  • 2026-09-18 13:15:57
Linux命令每日一清单010:wc--文本计数命令速查表

wc(word count)是Linux/Unix系统中用于计数的标准工具,它可以统计文件或输入流中的行数、单词数、字节数和字符数。虽然功能简单,但wc是脚本编写和日常命令行操作中不可或缺的工具。

wc最常用于统计日志行数、代码行数、文件数量等场景。通过与其他命令配合使用,wc可以快速回答“有多少个文件”、“有多少条匹配记录”、“这个文件有多大”等常见问题。掌握wc的几种基本用法,能让你在命令行中更高效地获取统计信息。

1. 基本语法

命令说明
wc file.txt
显示文件的行数、单词数和字节数
wc file1.txt file2.txt
分别显示每个文件的统计,并给出总计
wc *.log
统计所有匹配的log文件
cat file.txt | wc
统计命令输出的内容
wc --help
显示可用选项

2. 常用计数选项

命令说明
wc -l file.txt
只统计行数
wc -w file.txt
只统计单词数
wc -c file.txt
只统计字节数
wc -m file.txt
只统计字符数(支持多字节字符)
wc -L file.txt
显示文件中最长行的长度(字符数)

3. 实用管道组合

命令说明
ls -1 | wc -l
统计当前目录下的文件和目录数量
ls -la | grep "^-" | wc -l
统计当前目录下的文件数量(不含目录)
grep -r "ERROR" /var/log/ | wc -l
统计日志中ERROR出现的总行数
find . -type f -name "*.log" | wc -l
递归统计所有log文件的数量
ps aux | wc -l
统计当前运行的进程数量
cat file.txt | wc -w
统计文本文件的单词总数
history | wc -l
查看命令历史记录的数量
curl -s https://example.com | wc -c
获取网页的字节大小

4. 多文件统计

命令说明
wc -l *.txt
显示每个txt文件的行数及总行数
wc -w docs/*.md
显示每个markdown文件的单词数及总计
wc -c file1 file2 file3
显示每个文件的字节数及总计
wc -m *.csv
显示每个CSV文件的字符数及总计
wc -L *.log
显示每个日志文件的最大行长度

5. 脚本友好用法

命令/代码说明
count=$(wc -l < file.txt)
获取纯行数(不含文件名)
words=$(wc -w < file.txt)
获取纯单词数
bytes=$(wc -c < file.txt)
获取纯字节数
if [ "$(wc -l < file.txt)" -gt 1000 ]; then echo "文件超过1000行"; fi
脚本中判断行数阈值
printf '%s' "$text" | wc -m
统计字符串变量的字符数
total=$(wc -l file1.txt file2.txt | tail -1 | awk '{print $1}')
提取总计行数

6. 实用统计场景

命令说明
wc -l $(find . -name "*.py") | tail -1
统计当前目录下所有Python代码总行数
git ls-files | xargs wc -l | tail -1
统计Git仓库中所有文件的总行数
cat access.log | awk '{print $1}' | sort | uniq -c | wc -l
统计独立IP访问数量
dpkg -l | wc -l
统计已安装的软件包数量
crontab -l | grep -v "^#" | wc -l
统计有效的定时任务数量(排除注释)
df -h | tail -n +2 | wc -l
统计挂载的分区数量(排除标题行)

7. 常用选项速查

选项完整名称说明
-l
--lines
统计行数
-w
--words
统计单词数
-c
--bytes
统计字节数
-m
--chars
统计字符数
-L
--max-line-length
显示最长行的长度

8. 与其他命令配合

组合说明
ls + wc
统计文件数量
grep + wc
统计匹配行数
find + wc
统计查找结果数量
ps + wc
统计进程数量
cat + wc
统计文件内容
sort + uniq -c + wc
统计唯一值数量
cut + wc
统计特定字段

9. 故障排查

问题解决方法
输出中包含文件名
使用输入重定向:wc -l < file.txt 只返回数字
单词数统计不准确
检查文件中的分隔符;wc默认以空格和换行符分隔单词
字符数和字节数不同
中文字符在多字节编码下(如UTF-8)一个字符占多个字节,用-m统计字符数,-c统计字节数
多文件统计没有总行
当只有一个文件或通配符只匹配一个文件时,不显示总计行
管道计数少一行
某些命令输出包含标题行(如ps aux),可使用tail -n +2排除
wc: file.txt: open: No such file
文件不存在;检查文件路径和通配符匹配
通配符未展开
确保在正确目录执行;检查是否有匹配的文件

小结: wc最简单的用法也是最实用的用法。在脚本中获取计数值时,务必使用wc -l < file的形式而不是wc -l file,这样可以避免解析文件名。对于大型文件的统计,wc非常高效,因为它只读取文件而不加载全部内容到内存。组合grep和wc可以快速回答“有多少条匹配”的问题,这是日常排查中最常用的技巧之一。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTWC

最新文章

随机文章