首页 > 代码库 > LINUX下统计代码行数

LINUX下统计代码行数

我们编程时常常想统计一下自己写过多少行代码了,这时候该怎么办呢? 
 
虽然Vim等编辑器中有代码行数显示,但是不能一个个打开然后加起来吧? 
 
这个时候需要用到wc这个工具,呵呵,别看名字不怎么样,功能可是很强大的哦。 
用法:   
 
当前目录下: 
wc -l *.c *.h 
 
当前目录及子目录: 
find . -name *.c |xargs wc -l 
find . -name *.cpp | xargs wc -l 
find . -name *.h |xargs wc -l 
 
统计文件行数(单个文件): 
 
wc -l file 
 
例如: 
 
homer@ubuntu:~/workspace/android/game$ wc -l LGameAndroid2DActivity.java 
906 LGameAndroid2DActivity.java 
 
统计目录所有文件行数(全部目录): 
 
find . -name *.java | xargs wc -l 
 
例如: 
 
homer@ubuntu:~/workspace/android$ find . -name *.java | xargs wc -l 
    817 ./game/core/LHandler.java 
    140 ./game/core/LFlicker.java 
    ... 
    515 ./game/utils/collection/ArrayMap.java 
    162 ./game/utils/CollisionUtils.java 
    178 ./game/utils/NumberUtils.java 
  68753 total 
 
统计目录并按行数排序(按行大小排序): 
 
find . -name *.java | xargs wc -l | sort -n 
 
homer@ubuntu:~/workspace/android$ find . -name *.java | xargs wc -l | sort -n 
     25 ./game/action/sprite/Collidable.java 
     26 ./game/core/graphics/component/CollisionQuery.java 
     27 ./game/core/graphics/filter/ImageFilter.java 
     28 ./game/LMode.java 
     ... 
   1467 ./game/core/geom/Path2D.java 
   1919 ./game/core/graphics/Screen.java 
   2417 ./game/core/graphics/device/LGraphics.java 
   3050 ./game/core/geom/AffineTransform.java 
  68753 total 
统计目录并按行数排序(按行文件名排序): 
 
find . -name *.java | xargs wc -l | sort -k2 
 
homer@ubuntu:~/workspace/android$ find . -name *.java | xargs wc -l | sort -k2 
    210 ./game/action/ActionControl.java 
    116 ./game/action/ActionEvent.java 
     34 ./game/action/ActionListener.java 
     .... 
    178 ./game/utils/NumberUtils.java 
    342 ./game/utils/RecordStoreUtils.java 
     58 ./game/utils/ScreenUtils.java 
    650 ./game/utils/StringUtils.java 
  68753 total
 

LINUX下统计代码行数