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
一路走来,有点累,有点醉...(如需转载,请注明出处)