一个用shell写的统计目录下统计文件行数的代码
此代码是用来回忆当初学的shell脚本,很多知识忘了,写这个花了我三个小时的时间
#!/bin/ksh
#count *.c file the num of line
g_csum=0
g_hsum=0
count()
{
#       echo "$1,count_line"
        file_name="$1"
        res_line=`wc -l $file_name | awk '{print $1}'`
        echo $res_line
        return
#       find . -name "*.c" | xargs cat | wc -l
}
statistics()
{
        echo "program start running"
        cur_line=0
        echo $1
#       g_sum=`count $1`
        if test -f $1
then
                cur_line=`count $1`
                if [ "${1##*.}" = "c" ]
                then
                        g_csum=$(($g_csum+$cur_line))
                elif [ "${1##*.}" = "h" ]
                then
                        g_hsum=$(($g_hsum+$cur_line))
                fi
                echo $cur_line
        elif [ -d $1 ]
        then
                for file in $1/*
                do
                        statistics $file
                done
        fi
        echo "g_csum" $g_csum
        echo "g_hsum" $g_hsum
}
for file in $1
do
        statistics $1
done
exit 0
一个用shell写的统计目录下统计文件行数的代码的更多相关文章
- wc命令统计目录下所有文件行数
		想统计一下最近一个项目的代码行数,一个一个文件统计显然不是程序员的思维,wc命令可以统计一个文本的行数,结合find命令可以实现我的需求(注意符号): 
- linux下查看目录下某种文件类型累计的代码行数
		find 路径 -name '*.py' | xargs wc -l 
- linux  系统统计目录下文件夹的大小
		du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du命令用来查看 ... 
- 如何用DOS命令,获取一个目录下的文件数目
		发信人: GOOGOODALLS (我爱Figo), 信区: DOS 标 题: 如何用DOS命令,获取一个目录下的文件数目? 发信站: 水木社区 (Fri Mar 9 08:40:01 2007) ... 
- shell脚本 批量转换目录下文件编码
		发布:JB01 来源:脚本学堂 [大 中 小] 分享一例shell脚本,实现可以批量转换目录下的文件编码,很实用的一个小shell,有需要的朋友参考下.原文地址:http://www.jb ... 
- Linux下使用shell实现上传linux下某个目录下所有文件到ftp
		首先我们需要搞清楚单个文件怎么上传,把这个单文件上传到ftp上的实现命名为一个:upload_to_ftp_command.sh 之后,需要弄清楚怎么实现遍历一个目录下的所有文件的,把这个遍历某个目录 ... 
- 用shell查找某个目录下最大文件
		网上资料学习: 1.查找当前目录下最大文件(包括子目录里文件): find . -type f -exec stat -c "%s %n" {} \; | sort -nr | h ... 
- linux 统计命令执行后的行数或者统计目录下文件数目
		ls |wc 是统计你这个目录下的文件数目.ls |wc -l是输出第一个结果即31即文件的数目. 
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg
		package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ... 
随机推荐
- 重复数据分析的三个常用语法distinct, group by, partition by
			由于数据经常会出现重复现象,数据去重是数据分析中常用操作之一,而distinct,group by, partition by三者都可以实现去重功能,实践中需要根据不同的场景需求来选取相应的语法. d ... 
- 使用WebDriver遇到的那些坑
			在做web项目的自动化端到端测试时主要使用的是Selenium WebDriver来驱动浏览器.Selenium WebDriver的优点是支持的语言多,支持的浏览器多.主流的浏览器Chrome.Fi ... 
- spring mvc(1):基础入门
			依赖 pom.xml ( maven ) <properties> <spring.version>3.0.5.RELEASE</spring.version> ... 
- 【windows 下安装 mysql-server 无法登录问题解决】
			----------------------------- 无感的首行 ----------------------------- 新版 mysql-server 5.7 安装后发现无法使用 mysq ... 
- Matlab(2) -- Find()函数
			转自:http://www.matlabsky.com/thread-4228-1-1.html find函数:用于查询非零元素的行和列标志 语法: ind = find(X) ind = find( ... 
- 海量数据相似度计算之simhash短文本查找
			在前一篇文章 <海量数据相似度计算之simhash和海明距离> 介绍了simhash的原理,大家应该感觉到了算法的魅力.但是随着业务的增长 simhash的数据也会暴增,如果一天100w, ... 
- System.Security.SecurityException The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception
			[15/08/19 00:03:10] [DataManager-7292-ERROR] System.Reflection.TargetInvocationException: Exception ... 
- [转]CentOS-6.3安装配置cmake
			CentOS-6.3安装配置cmake zhoulf 2013-02-03 原创 安装说明 安装环境:CentOS-6.3安装方式:源码编译安装 软件:cmake-2.8.10.2.tar.gz下 ... 
- [php-src]窥探Php内核中的数组与面向对象
			内容均以php5.6.14为例. 扩展中定义一个类有以下四步: #1. 声明一个存储类信息的指针. zend_class_entry *errs_ce; #2. 定义方法的参数信息,类的方法实现. Z ... 
- spring 事务:注解方式
			(1) .<context:component-scan base-package="*.*" /> 该配置隐式注册了多个对注解进行解析的处理器,如: Autowire ... 
