Linux wc -l 统计文件行数存在的问题

1.使用这种方式效率较低,而且不注意可能出现错误

  find  . -name "*.pc" |xargs wc -l   

  直接查看 total 不是正确的值。

  原因:

  这种方式存在一个问题,如果pc的总行数达到几百万时,会自动截断,统计出多个 total  (具体原因需通过源码分析)

  需要将多个total 进行求和,才是总行数。

  方法:

  find . -name "*.pc" |xargs wc -l  |awk '/total/{a+=$1}END{print a}'

 

2.使用这中方式效率和结果都ok

  find . -name  "*.pc" |xargs cat |wc -l

posted @ 2018-02-05 17:00  Yueers  阅读(726)  评论(0编辑  收藏  举报