Linux 常用命令 - wc 【统计文件的行数、单词数和字节数】

简介

“wc” 与 WC 以及国粹都没有任何关系,实际上其来源于 word count 的缩写,这个命令用于统计指定文本的换行数、单词数和字节数。简单来说,它能快速给出任何文本的基本信息。wc 命令通过读取标准输入或指定的文件内容,计算出行、单词和字节的总数。

使用方式

wc [选项]... [文件]...

常用选项

  • -c:打印字节数。
  • -m:打印字符数。
  • -l:打印换行数。
  • --files0-from=F:从指定文件 F 中读取以\0分割的文件名,并统计这些文件的信息。
  • -L:打印最长行的宽度。
  • -w:打印单词数。
  • --help:显示帮助信息。
  • --version:显示版本信息。

参考示例

1. 显示文件的换行数、单词数以及字节数

wc test.c

可以看到 test.c 文件中有 27 个换行符,74个单词,总共 510 个字节。

jay@jaylinuxlenovo:~/test$ wc test.c
 27  74 510 test.c

2. 仅显示文件的换行数

wc -l test.c

可以看到 test.c 中有 27 个换行符。

jay@jaylinuxlenovo:~/test$ wc -l test.c
27 test.c

3. 仅显示文件的字节数

wc -c test.c

可以看到 test.c 中有 510 个字节。

jay@jaylinuxlenovo:~/test$ wc -c test.c
510 test.c

4. 仅显示文件的字符数

wc -m test.c

可以看到 test.c 中有 472 个字符。字符数和字节数的区别详见下文注意事项。

jay@jaylinuxlenovo:~/test$ wc -m test.c
472 test.c

5. 仅显示文件的单词数

wc -w test.c

可以看到 test.c 中有 74 个单词。

jay@jaylinuxlenovo:~/test$ wc -w test.c
74 test.c

6. 从指定文件中读取文件名并打印这些文件的信息

wc --files0-from=files0.txt

首先使用 ls 命令查看当前文件夹下的所有 .c 文件,用于后面对比 wc 指令执行的正确性:

jay@jaylinuxlenovo:~/test$ ls ./*.c
./queue.c  ./test2.c  ./test.c

可以看到当前文件夹下有 3 个 .c 文件,分别为 queue.c、test2.c、test.c。现在我们使用 find 指令结合-print0 选项将当前文件夹下的 .c 文件名以\0分隔写入到 files0.txt 文件中:

find *.c -print0 > files0.txt

最后使用 wc --files0-from 选项读取该文件并对其内容中出现的文件名进行解析并打印对应文件的统计信息:

jay@jaylinuxlenovo:~/test$ wc --files0-from=files0.txt
  69  165 1680 queue.c
  24   56  355 test2.c
  27   74  510 test.c
 120  295 2545 total

可以看到该命令正确打印出了上述三个文件的统计信息以及所有文件的总和信息,说明我们的命令执行是正确的。

注意事项

  • wc 命令在除了文件名没有其他选项时即输入 wc [文件名] 时,会默认输出四个信息,分别为:换行数、单词数、字节数和文件名。
  • 当统计多个文件时,wc 会为每个文件以及所有文件的总和各自显示一行统计信息。
  • wc 计算的 “单词” 是通过空白字符(如空格、制表符等)分隔的字符串,因此其对“单词”的定义可能与日常使用略有不同。
  • wc 命令输出的换行数实际上是指换行符的数量,如果文件末尾不是换行符,那么其值可能为真实行数 -1。
  • wc 的 -c 选项是打印文件中的 字节 数,而 -m 选项是打印文件中的 字符 数。在多字节字符集中,一个字符可能由多个字节组成,如 UTF-8 。因此这种情况下字符计数和字节计数是不同的。

相关推荐

  1. 统计单词

    2024-06-14 17:12:03       16 阅读
  2. P1308 统计单词

    2024-06-14 17:12:03       13 阅读
  3. 字母转换并统计(C语言实现)

    2024-06-14 17:12:03       18 阅读
  4. 华为思科各通设备命令

    2024-06-14 17:12:03       29 阅读
  5. Python - 获取文件

    2024-06-14 17:12:03       11 阅读
  6. js 方法

    2024-06-14 17:12:03       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-14 17:12:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-14 17:12:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-14 17:12:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-14 17:12:03       20 阅读

热门阅读

  1. Debian常用命令

    2024-06-14 17:12:03       6 阅读
  2. ISO 19115-2:2019 附录C XML 模式实现

    2024-06-14 17:12:03       9 阅读
  3. Spring Cloud应用框架

    2024-06-14 17:12:03       9 阅读
  4. Python爬虫技术,爬取网站数据、电影、资源等等

    2024-06-14 17:12:03       7 阅读
  5. flink学习-状态管理

    2024-06-14 17:12:03       8 阅读
  6. mysql定时任务事件清理单表数据

    2024-06-14 17:12:03       6 阅读
  7. 修改容器内部时间

    2024-06-14 17:12:03       6 阅读
  8. 死锁的产生预防处理解锁

    2024-06-14 17:12:03       6 阅读
  9. 电压kV为什么k要小写,原因你知道吗?

    2024-06-14 17:12:03       7 阅读
  10. 男人圣经 14

    2024-06-14 17:12:03       7 阅读
  11. AI 到底是什么?

    2024-06-14 17:12:03       8 阅读