Linux 统计代码行数的代码

时间:2022-05-29 05:44:33

统计文件行数(单个文件):

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