统计文件行数

来源:互联网 发布:java开发工程师招聘 编辑:程序博客网 时间:2024/06/05 12:14

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

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

------------------------------------------------------------------------------------------------------------------------------------------

语法:wc [选项] 文件…

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

  - c 统计字节数。

  - l 统计行数。

  - w 统计字数。

这些选项可以组合使用。

输出列的顺序和数目不受选项的顺序和数目的影响。

总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total

举例分析:

1.统计demo目录下,js文件数量:

find demo/ -name "*.js" |wc -l

2.统计demo目录下所有js文件代码行数:

find demo/ -name "*.js" |xargs cat|wc -lwc -l `find ./ -name "*.js"`|tail -n1

3.统计demo目录下所有js文件代码行数,过滤了空行:

find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l

0 0
原创粉丝点击