如何统计Linux环境变量中各个目录下的文件数
来源:互联网 发布:sql exist in 编辑:程序博客网 时间:2024/05/17 02:00
首先说下思路:先获取到环境变量中的目录,用for循环遍历它们就可以打印出目录名,然后再用一层for循环,浏览各个目录下的文件,定义一个变量,每浏览一次该变量就+1,直至浏览完毕,这样每一次循环就能打印出每个目录下的文件数,最后将目录名和各自的文件数相继打印出来就行了。
我们先用echo命令看看$PATH环境变量中的目录:
[root@localhost ~]# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@localhost ~]#
我们看到,各个路径之间都由分号分隔,为了能让for循环识别,我们要把他们转换成空格才行:
sed 's/:/ /g'
新建一个变量,来保存经过转换的$PATH内容:
mypath=`echo $PATH | sed 's/:/ /g'`
转换好之后,我们开始第一层循环。第一层for循环的作用就是打印每个路径的名字:
for dir in $mypathdo echo "$dir - 文件数"done
然后在其中嵌入第二层循环,在每一次遍历一个目录时,对其下的所有文件也进行遍历。在第一次循环开始之前可以新建一个变量并赋值0,在第二次循环的时候每次遍历都给这个变量+1,这样,每一个目录下的文件都会有一个各自的计数,这就是该目录下的文件数:
count=0for dir in $mypathdo fileNum=`ls $dir` for a in $fileNum do count=$[ $count+1 ] done echo "$dir - $count" count=0done
第二次循环后记得给count重新赋值0,否则这个数会一直往上涨。
写完之后ls -l一下看看这个脚本是不是可执行,如果不是要加权限哦:
chmod u+x fileNum.sh
这样,整个脚本就完成了:
#! /bin/bashmypath=`echo $PATH | sed 's/:/ /g'`count=0for dir in $mypathdo fileNum=`ls $dir` for a in $fileNum do count=$[ $count+1 ] done echo "$dir - $count" count=0done
最后我们来看看跑下来的效果~
[root@localhost Tino]# ./fileNum.sh /usr/lib64/qt-3.3/bin - 12/usr/local/sbin - 0/usr/local/bin - 0/sbin - 272/bin - 118/usr/sbin - 275/usr/bin - 1465ls: cannot access /root/bin: No such file or directory/root/bin - 0[root@localhost Tino]#
0 0
- 如何统计Linux环境变量中各个目录下的文件数
- linux 统计目录下的文件数
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- java中如何获取项目各个目录下的文件
- java中如何获取项目各个目录下的文件
- java中如何获取项目各个目录下的文件
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- 统计目录下的文件数
- Mac下如何统计一个目录下所有代码文件的总行数
- Linux统计目录下的文件个数
- 如何统计一个目录下的文件个数以及代码总行数的命令
- (转)java中如何获取项目各个目录下的文件
- linux 查看目录下各个文件的大小
- 统计一个目录下所有普通文件的总行数
- hdfs统计某个目录下的文件数
- Linux下各个文件目录及其作用
- leetcode 13: Roman to Integer
- android如何长时间音乐播放实现MediaPlayer
- Error Code: 1175. You are using safe update mode and you tried to update a table
- 在控制台显示本月日历(来自《Java核心技术.基础》)
- 轻快的VIM(一):移动
- 如何统计Linux环境变量中各个目录下的文件数
- android实现背景音乐播放
- Javascript牛刀小试
- 黑马程序员----OC学习之单例模式
- Java实现经典排序算法及复杂度稳定性分析
- android TextView设置删除线,超链接,颜色和字体等说介绍,androidtextview
- windows下,域名解析,获取适配器信息
- cookie
- Linux内核源码分析--内核启动之(1)zImage自解压过程(Linux-3.0 ARMv7)