1. 程式人生 > >Linux wc -l 統計文件行數存在的問題

Linux wc -l 統計文件行數存在的問題

strong 錯誤 源碼分析 需要 使用 直接 end inux post

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

Linux wc -l 統計文件行數存在的問題