shell脚本实现统计目录下(包括子目录)所有文件的个数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本实现统计目录下(包括子目录)所有文件的个数相关的知识,希望对你有一定的参考价值。

在shell终端中输入下列命令:

# 在当前目录生成脚本文件 countfile
cat >countfile <<SCRIPT
#!/bin/sh
find "\\$@" -type f |
wc -l
SCRIPT
# 为脚本添加权限
chmod +x countfile
# 执行用例
./countfile ~

参考技术A find命令可以实现查找文件的类型的,希望可以帮到楼主。
find / -type d|wc -l
就是这一个命令!以后有问题的话, 可以一起研究。
参考技术B #!/bin/bash
ls | wc -c
Let “filenum = 0”
Let “dirnum = 0”
Let “regnum = 0”
Let “pipenum = 0”
Let “lnum = 0”
For I in $(ls)
Do
If [ -f $i]
Then
Let “$filenum += 1”
Elif[ -d $i]
Let “$dirnum +=1”
Elif[ -d $i]
Let “$ regnum +=1”
Elif[ -d $i]
Let “$ pipenum +=1”
Elif[ -d $i]
Let “$ lnum +=1”
Fi
Done
Echo “the number of files is $filenum”
Echo “the number of directorys is $dirnum”
Echo “the number of regular file is $regnum”
Echo “the number of pipeline file is $pipenum”
Echo “the number of link file is $lnum”

Shell脚本判断文件是不是存在

参考技术A 通过git命令统计出了我在某个分支上改动的所有文件列表(文件路径是以和git工作区根目录的相对路径保存的),写入了一个文件all.txt。但是,随即发现,这个列表中的某些文件是我在开发过程中新建,然后有删除的,现在工作区中并不存在这个文件。
由于工作区的目录层级比较多,文件也比较多,挨个检查基本是不可能的。于是,写了下面的脚本,放在git工作区的根目录运行,就能够找出那些不存在的文件:

这个脚本中就用到了一个知识点,就是shell如何判断文件存在。下面是一个运行的例子:

然后,通过vim的简单排序,去重命令,可以对这些结果进行筛选和简单处理。

以上是关于shell脚本实现统计目录下(包括子目录)所有文件的个数的主要内容,如果未能解决你的问题,请参考以下文章

交互式shell脚本遍历文件目录下的所有文件和目录(绝对路径)

怎么用shell脚本语言编写一个统计当前目录下的文件数目的...

交互式shell脚本遍历文件目录下的所有文件和目录(绝对路径)

linux下shell统计文件目录下所有代码行数

shell统计当前文件夹下的文件个数目录个数

linux下如何统计部分文件大小,有很多文件夹,还包含子文件件夹,统计出所有包含‘123’的文件的总大小