- 论坛徽章:
- 0
|
shell脚本内容:
#!/bin/sh
var1=1
myfunc()
{
for x in $(ls)
do
if [ -f "$x" ];then #判断是不是文件
echo ; #本意打印文件名
elif [ -L "$x" ];then #判断是不是link文件
echo ; #本意打印link
else #判断其他类型文件夹
cd "$x"; # 进入文件夹
var1=$[var1+1]; #var1 变量表示 传入目录下的第几层目录
if [ 2 -eq $var1 ]; #目前2 代表 第2层
then
ls
tree |grep files |awk '{print $3}' #打印这个目录包括子目录包含的文件数量
fi
myfunc; #递归 用ls列出的所有文件进行判断,是不是文件夹,是文件夹就再次进入文件夹直到没有可进的文件夹,进行ls ,tree
cd .. #返回上层
var1=$[var1-1]; #返回上层减1
fi
done
}
if [ -z "$1" ]
then
DIR="$PWD"
echo $DIR
else
DIR="$1" #传入目录
cd $PWD/$1 #进入目录
myfunc
fi
exit 0
终端命令:
[root@cs /]# ./com.sh /data/pacsdata/2015/04/16/CT
输出结果:
968376
20
968186
229
问题1:中间空行问题怎么处理?问题2:结果需要一行两列
比如:
968376 20
968186 229
问题3:如果加个排序该怎么写?求大神解答?
|
|