刚毕业那会儿有一次去台湾公司面试,我问多行代码怎么写。我从来没有想过这个问题,粗略计算,。惊叹:大概几十万行不行。

最近整理资料,看着eclipse左边全面上市,我觉得这个东西。代码共同拥有的行倒底总数?——windows下要么找工具。要么编程序。又想到linux里的命令统计非常方便,于是打算用个命令来完毕。

可分析来分析去,恐怕一行命令是搞不定的——又涉及递归查找,又涉及指定文件类型,又涉及对文件全路径进行操作。终于还是用了一段shell脚本才达到目的。

#!/bin/bash

declare -i filenumber=0
declare -i linenumber=0 list_alldir(){
for file in `ls -a $1`
do
if [ x"$file" != x"." -a x"$file" != x".." ];then
if [ -d "$1/$file" ];then
list_alldir "$1/$file"
else
if [[ $file =~ \.java$ ]]; then
echo "$1/$file"
filenumber=$filenumber+1
linenumber=$linenumber+`cat "$1/$file"|wc -l`
fi
fi
fi
done
} if [ "$1" = "" ];then
arg="."
else
arg="./"$1
fi list_alldir $arg echo "There are $filenumber java files under directory: $arg"
echo "--total code lines are: $linenumber"

用法:保存成sh文件,授予运行权限。运行./xxx.sh src ,可带參数。不带參数是统计当前文件夹下全部java文件,带參数是统计指定文件夹下的全部java文件。參数仅仅能指定到文件夹一级,不能到文件。

还能够写的更通用一些,比方统计随意类型的文件。懒得改了。统计结果大部分项目在几千至几万行之间,整个jdk7也才260源代码超过一百万线,此外,它包含了这么多就盯着线。那么答案是有点不知天高地厚了。

版权声明:本文博主原创文章。转载保留原文链接。

采用shell脚本统计代码的行数的更多相关文章

  1. Python 统计代码的行数,Python脚本 统计代码

    # coding=utf-8 import os import time # 需要统计的文件夹或者文件,这是在windows下运行的,如果使用Linux系统可以使用 basedir = '/app/l ...

  2. C++统计代码注释行数 & 有效代码行数 & 代码注释公共行 & 函数个数

    问题来源,在14年的暑假的一次小项目当中遇到了一个这样的问题,要求统计C++代码的注释行数,有效代码行数,代码注释公共行数,以及函数个数. 下面稍微解释一下问题, 1)注释行数:指有注释的行,包括有代 ...

  3. Shell脚本统计文件行数

    Shell脚本统计文件行数 转自 http://www.jb51.net/article/61943.htm    示例:row_count.sh文件 awk '{print NR}' row_cou ...

  4. linux 脚本统计代码行数

    由于实际需求,需要统计开源产品的代码行数,so,以下命令统计*.c的行数. .h,.java  .同理 find . -name *.c|xargs wc -l

  5. Shell 统计文件的行数

    目录 统计文件的行数 题目 题解-awk 题解-wc 题解sed 统计文件的行数 题目 写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数 示例: 假设 nowcoder.txt ...

  6. 通过shell脚本实现代码自动化部署

    通过shell脚本实现代码自动化部署 一.传统部署方式及优缺点 1.传统部署方式 (1)纯手工scp (2)纯手工登录git pull.svn update (3)纯手工xftp往上拉 (4)开发给打 ...

  7. wc 统计文件的行数,字数,字符

    格式:wc 参数 文件  默认统计文件的行数,字数,字符. -l   统计有多少行数 -c   统计有多少个字节 -m  统计有多少个字符 -w 统计有多少个字数

  8. wc 统计文件的行数

    1.命令功能 wc 统计文件的行数,单词和字节数 2.语法格式 wc  option  file wc  option  --files0-from=F 参数说明 参数 参数说明 -c 统计字节数 - ...

  9. Linux shell 脚本攻略之统计文件的行数、单词数和字符数

    摘自:<Linux shell 脚本攻略>

随机推荐

  1. 【译】手动处理Team Foundation Server 2010 数据仓库和分析服务数据库

    原贴地址:Manually Processing the Team Foundation Server 2010 Data Warehouse and Analysis Services Databa ...

  2. uva live 4394 String painter 间隔dp

    // uva live 4394 String painter // // 问题是,在培训指导dp运动主题,乍一看,我以为只是一点点复杂 // A A磕磕磕,两个半小时后,.发现超过例子.然而,鉴于他 ...

  3. 将ACCESS数据库迁移到SQLSERVER数据库

    原文:将ACCESS数据库迁移到SQLSERVER数据库 将ACCESS数据库迁移到SQLSERVER数据库 ACCESS2000文件 用ACCESS2007打开,并迁移到SQLSERVER2005里 ...

  4. 为Linux用ISO制作U盘启动及基本原理

    制作成功后的基本最简文件夹文件图 一.系统的基本引导流程: 首先系统要引导isolinux.bin可执行程序,此程序是移动介质上引导用的,isolinux.bin执行成功后会载入其配置文件syslin ...

  5. Java贪吃蛇游戏

    package snake.game; import java.awt.CardLayout; import java.awt.Color; import java.awt.Graphics;   i ...

  6. 4pdf

    http://www.cnblogs.com/haocool/archive/2013/03/16/2962547.html

  7. 重新想象 Windows 8 Store Apps (6) - 控件之媒体控件: Image, MediaElement

    原文:重新想象 Windows 8 Store Apps (6) - 控件之媒体控件: Image, MediaElement [源码下载] 重新想象 Windows 8 Store Apps (6) ...

  8. Eclipse 在线安装fat jar插件

    在线安装步骤: eclipse菜单栏 help >software updates >Search for new features to install>new update si ...

  9. PHP读取Excel里的文件

    下载phpExcelReader  http://sourceforge.net/projects/phpexcelreader 解压后得到以下这些文件 jxlrwtest.xls这个excel文件有 ...

  10. DM8168 CameraLink 视频噪点问题解决

    几天前写过FPGA採集LVDS视频(噪点去除),当时的情况是CameraLink视频出现了非常多噪点,不堪入目,硬件方面没有找到毛病,仅仅能是用硬件描写叙述语言对採集前端的FPGA又一次进行了处理,效 ...