赞
踩
fileListCount.sh 内容如下:
- #!/bin/bash
- # 定义一个递归函数
- function fileLines(){
- # 开启目录循环 $1 是指调用命令时传入的第一个参数 目录
- for file in `ls $1`
-
- do
-
- # 如果当前是个目录 则递归自身
- if [ -d $1"/"$file ];then
- fileLines $1"/"$file
-
- else
- # 否则认为是个文件 统计各文件里面的各非空行的行数
- echo $1"/"$file `grep -v '^\s*$' $1"/"$file | wc -l`
-
- fi
-
- done
-
- }
-
- # 如果参数个数 > 0 则使用参数
- # 否则 默认当前目录
- if [ $# -gt 0 ];then
- for m_dir in $@
- do
- fileLines $m_dir
- done
- else
- fileLines "."
- fi
-
执行:
./fileListCount.sh /home/test
或者
./fileListCount.sh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。