如何通过命令行统计一个文件的行数
目录:
- How to Count the Lines from the Terminal with wc
- How to count the lines of piped output data with wc
需要获取文本文件或文档的行数?在命令行中计算任何文件的行数很容易,并且行数计算命令在所有现代基于 Unix 的操作系统中都是相同的,这意味着这个行数计算技巧在 Mac OS 和 Mac OS X、Linux、BSD、甚至带有 Bash shell 的 Windows。
出于此处的目的,我们将使用命令行中可用的最直接的行计数工具wc。 wc 实用程序能够显示行数,以及显示字数和字符数。我们这里的重点当然是前者,所以我们将展示如何使用 wc 来计算作为输入提供的任何文本文件的行数。
wc 将一行定义为“由换行符分隔的字符串”,这意味着只有唯一的新行将被计为一行。所以如果一个文件中没有换行符,文件只是一个巨大的句子或单个命令字符串,它会被报告为一行。
How to Count the Lines from the Terminal with wc
- 如果您还没有打开终端窗口(在 Mac 操作系统中,终端应用程序位于 /Applications/Utilities/)
- 在命令提示符下输入以下命令语法,将“文件名”替换为您要计算行数的文件
- 回车,你会看到文件名前打印的文件行数
wc -l 文件名
正如您可能猜到的那样,-l 标志(小写 L)用于“行”。
例如,在桌面上名为“exampleFileToCountLines.txt”的文件上运行wc -l 命令将如下所示:
% wc -l ~/Desktop/exampleFileToCountLines.txt 1213 /Users/Paul/Desktop/exampleFileToCountLines.txt
在这个例子中可以看到,给定的文本文件的行数是1213,也就是说文件是1, 213行。
wc 命令在任何现代基于Unix 的操作系统上都一样,包括Mac OS、Linux、FreeBSD、带有Bash 的Windows 等。
使用wc统计文件的行数、字数和字符数
您也可以在不带-l 标志的情况下运行wc 命令,这将按顺序显示行数、字数和字符数。喜欢:
wc /etc/hosts 9 32 214 /etc/hosts
Contrast that command output to the same command with wc -l flag only:
wc -l /etc/hosts 9 /etc/hosts
这只是计算文本文件的行数作为输入,它根本不修改文件。如果您确实希望修改文件,您可以通过命令行手动将行号添加到文本文件。
How to count the lines of piped output data with wc
您还可以使用 wc 计算通过管道传输到其中的任何数据的行数,例如来自 cat 或 ls 的数据:
cat /etc/hosts | wc -l
该场景中的输出将只是文件中的行数,例如“9”。
wc命令非常简洁,您可以阅读wc的手册页以获得更多使用思路和技巧。
这显然都是针对命令行的,但还有其他方法可以获取文件的行数和字符数。
对于短文件,您可以手动计算它们,BBEdit 等第三方 Mac 应用程序默认显示行号,如果您有 BBEdit 的小表弟 TextWrangler,那么您可以开始显示行号在 TextWrangler 中也是如此。您还可以为 Mac 即服务制作一个 DIY Word 和字符计数器工具。如果您碰巧已经知道要访问的文件的行号,则可以直接跳转到 TextEdit 中的特定行号,但不幸的是 TextEdit 不显示行号,这似乎是一个疏忽。