我给你用最清晰、面试也常问的方式讲一遍,一看就懂。

三种统计行数的区别

  1. wc -l 文件名

bash

wc -l nowcoder.txt

  • 直接统计文件行数
  • 不需要读整个文件内容到管道
  • 效率最高,大文件首选
  • 输出会带文件名: 100 nowcoder.txt
  1. cat 文件名 | wc -l

bash

cat nowcoder.txt | wc -l

  • 先把文件内容全部输出,再通过管道给 wc 统计
  • 多了一次 IO 和管道传输
  • 效率低一点,但结果一样
  • 输出只显示数字: 100
  1. grep -c “.*” 文件名

bash

grep -c “.*” nowcoder.txt

  • grep -c :统计匹配到的行数
  • .*  匹配任意一行
  • 结果和行数一样
  • 本质是正则匹配计数,不是专门统计行数的工具

极简总结

  • 要最快 →  wc -l file
  • 要只输出数字 →  cat file | wc -l
  • 没事别用 grep 统计行数

牛客题标准答案

如果题目只要求输出纯数字:

bash

cat nowcoder.txt | wc -l

如果不限制格式:

bash

wc -l nowcoder.txt

需要我再给你讲讲空行会不会被统计、最后一行没有换行符会不会漏统计这些坑点吗?

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐