可通过 wc -l、nl、sed、awk、grep 等命令统计文本文件行数:wc -l 统计换行符数量;nl 配合 tail 提取末行编号;sed 用 $= 或正则筛选;awk 用 end{print nr};grep -c '^' 统计全行。

如果您需要了解一个文本文件包含多少行内容,则可以通过 Linux 命令行工具快速获取该数值。以下是几种常用且有效的统计方法:
一、使用 wc -l 命令统计行数
该命令通过统计换行符数量来确定文件总行数,是标准且轻量的方式,适用于大多数纯文本文件。
1、在终端中输入 wc -l 文件名,例如 wc -l example.txt。
2、执行后将显示两列内容:第一列为数字(即行数),第二列为文件名。
3、如仅需输出纯数字,可结合 cut 命令:wc -l example.txt | cut -d' ' -f1。
二、使用 nl 命令配合 tail 查看总行数
nl 命令会对每一行添加行号并输出,再利用 tail 提取最后一行编号,即可获得总行数,适合需验证编号连续性的场景。
1、运行 nl 文件名 | tail -n 1,例如 nl data.log | tail -n 1。
2、输出结果中左侧数字即为该文件的总行数。
3、若文件为空,此方法将无输出,需额外判断空文件情况。
三、使用 sed 命令计算非空行与全部行
sed 可灵活处理行匹配逻辑,支持分别统计含内容的行和所有行(含空行),便于区分有效数据规模。
1、统计全部行(含空行):sed -n '$=' 文件名,例如 sed -n '$=' config.conf。
2、统计非空行:sed -e '/^$/d' -e '$=' 文件名。
3、注意:此方法对超大文件性能略低于 wc,但具备更强的条件筛选能力。
四、使用 awk 命令逐行计数
awk 按记录方式读取文件,默认以换行符为分隔,NR 内置变量持续累加当前处理行号,适合嵌入脚本进行复杂逻辑扩展。
1、执行 awk 'END{print NR}' 文件名,例如 awk 'END{print NR}' notes.md。
2、若需同时显示文件名与行数,可写为:awk 'END{print FILENAME, NR}' 文件名。
3、该命令在处理多个文件时会自动累加 NR,单文件下结果准确可靠。
五、使用 grep 配合正则统计可见行
grep 默认输出匹配行,配合 -c 参数可直接返回匹配行数;使用 ^ 可匹配每行开头,从而实现全行计数,尤其适合过滤特定格式行。
1、统计全部行(含空行):grep -c '^' 文件名。
2、统计非空行:grep -c '.' 文件名(点号匹配任意非换行字符)。
3、注意:当文件末尾无换行符时,grep -c '^' 仍会将最后一行计入,而 wc -l 可能漏计,二者行为存在差异。










