Linux上统计文件夹下文件个数以及目录个数 墨蓝 2022-12-01 14:11 250阅读 0赞 1、 统计文件夹下文件的个数 可以试着在终端运行ls -l,可以达到如下结果 ![在这里插入图片描述][20200827145309577.png_pic_center] 还可以这样 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center] 可以看出,运行ls -l命令之后,终端输出的结果是一行一行的字符,每一行字符对应一个目录或者是文件 管道命令的形式是“命令1 | 命令2”,其中命令2是管道命令 管道命令要操作的对象就是这样的一行一行的字符串,实际上就是一行一行的文本信息 管道命令可以是查找字符串的grep命令,也可以sort这样的排序命令,也可以是wc这样的统计命令,anyway,无论是查找还是排序,抑或是统计,他们操作的对象是一个命令输出的一行一行字符串 所以,如果运行ls -l会输出当前目录下的文件以及目录的信息。那么只要在当前目录下的输出结果中,统计出是文件的行的数目,就可以统计出当前目录下的文件个数 所以要找出命令ls -l输出的文件的信息与目录的信息的不同之处 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 1] 不难看出,如果是文件的话,该行的字符串信息的第一个字符显示的是“-”,如果是目录的话,该行的字符的第一个显示的是"d",意即directory,找到这两者之间的区别,运行能够判别第一个字符的命令 ![在这里插入图片描述][20200827173127993.png_pic_center] `ls -l | grep "^-"` 其中“^-”是一个正则化项,表示字符串的第一个字符, 运行结果 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 2] 那么接下来只要对管道命令运行的结果统计行号即可 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 3] 即运行两次管道命令,即`ls -l | grep “^-” | wc -l` 结果如下 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 4] 2、统计文件夹下目录的个数 同样的,利用第一个字符的区别,只需要将命令`ls -l | grep "^-" | wc -l`修改成`ls -l | grep "^d" | wc -l` 即可,如下 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 5] 3、统计文件夹下文件个数,包括子文件 `ls -lR | grep "^-"| wc -l` 4、统计文件夹下目录个数,包括子目录 `ls -lR | grep "^d"| wc -l` 5、 递归统计出文件夹下所有文件的数目 find命令查找文件如下, ![在这里插入图片描述][20200827174030987.png_pic_center] 配合正则化表达式, ![在这里插入图片描述][20200827174050448.png_pic_center] 5、 递归统计出文件夹下所有子文件夹的数目 ![在这里插入图片描述][20200827174120580.png_pic_center] 注意,这里面包含了当前文件夹,所以统计出来减一即可 ![在这里插入图片描述][20200827174134924.png_pic_center] [20200827145309577.png_pic_center]: /images/20221123/ea23e5a3a26945068e17f953344b8e23.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center]: /images/20221123/210acefb918b462181484c998ffe6b3d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 1]: /images/20221123/3327c30f3f9341d99a967bdc3e2a13ee.png [20200827173127993.png_pic_center]: /images/20221123/34cc370d3b5b446a92cafea064a1ee35.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 2]: /images/20221123/f4d5764bf74c421a9d083ff7edf189ed.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 3]: /images/20221123/658bb32b345849c68b9d87cc7c5915c9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 4]: /images/20221123/15a211ab63da4c07b3b6cd8fa46dc6b9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaXpoZW5nZ3Vhbg_size_16_color_FFFFFF_t_70_pic_center 5]: /images/20221123/be7ac255b2c34206b4f619226743eaf6.png [20200827174030987.png_pic_center]: /images/20221123/90f2fa24ce39452682b290b5df6242c3.png [20200827174050448.png_pic_center]: /images/20221123/c4907dba8f074de5ab67ce5a76463e2e.png [20200827174120580.png_pic_center]: /images/20221123/0403ca7789c2413e8b6bae095044ad2c.png [20200827174134924.png_pic_center]: /images/20221123/d4dc5838f53c4f1991a17546dac861f1.png
还没有评论,来说两句吧...