小实验-批量创建文件夹/文件并统计文件个数

看 《the linux command line》的find章节,有个好玩的实践,大家看看能否快速敲出来:

题目

1. 在家目录下创建一个playground目录,该目录下创建一百个文件夹,每个文件夹下创建一百个文件

2. 一次性输出每个playground子目录下的文件个数,看看是不是100个

 

 

 先自己思考一下🤔。。。

 

 

 

 

 

 

参考答案

1. 创建playground目录及100个子目录

pi@raspberrypi:~ $ mkdir -p playground/dir-{001..100}

2. 每个子目录创建100个文件
pi@raspberrypi:~ $ touch playground/dir-{001..100}/file-{001..100}

3. 查看子目录数
pi@raspberrypi:~ $ ls playground/
dir-001 dir-011 dir-021 dir-031 dir-041 dir-051 dir-061 dir-071 dir-081 dir-091
dir-002 dir-012 dir-022 dir-032 dir-042 dir-052 dir-062 dir-072 dir-082 dir-092
dir-003 dir-013 dir-023 dir-033 dir-043 dir-053 dir-063 dir-073 dir-083 dir-093
dir-004 dir-014 dir-024 dir-034 dir-044 dir-054 dir-064 dir-074 dir-084 dir-094
dir-005 dir-015 dir-025 dir-035 dir-045 dir-055 dir-065 dir-075 dir-085 dir-095
dir-006 dir-016 dir-026 dir-036 dir-046 dir-056 dir-066 dir-076 dir-086 dir-096
dir-007 dir-017 dir-027 dir-037 dir-047 dir-057 dir-067 dir-077 dir-087 dir-097
dir-008 dir-018 dir-028 dir-038 dir-048 dir-058 dir-068 dir-078 dir-088 dir-098
dir-009 dir-019 dir-029 dir-039 dir-049 dir-059 dir-069 dir-079 dir-089 dir-099
dir-010 dir-020 dir-030 dir-040 dir-050 dir-060 dir-070 dir-080 dir-090 dir-100

4. 查看子目录的文件数
pi@raspberrypi:~ $ ls playground/dir-001
file-001 file-011 file-021 file-031 file-041 file-051 file-061 file-071 file-081 file-091
file-002 file-012 file-022 file-032 file-042 file-052 file-062 file-072 file-082 file-092
file-003 file-013 file-023 file-033 file-043 file-053 file-063 file-073 file-083 file-093
file-004 file-014 file-024 file-034 file-044 file-054 file-064 file-074 file-084 file-094
file-005 file-015 file-025 file-035 file-045 file-055 file-065 file-075 file-085 file-095
file-006 file-016 file-026 file-036 file-046 file-056 file-066 file-076 file-086 file-096
file-007 file-017 file-027 file-037 file-047 file-057 file-067 file-077 file-087 file-097
file-008 file-018 file-028 file-038 file-048 file-058 file-068 file-078 file-088 file-098
file-009 file-019 file-029 file-039 file-049 file-059 file-069 file-079 file-089 file-099
file-010 file-020 file-030 file-040 file-050 file-060 file-070 file-080 file-090 file-100
5. 输出每个子目录的文件数

pi@raspberrypi:~ $ find playground/ -type d -exec sh -c "ls {} | wc -l" \;
100
100
100
...

...
100
100
100
100
100

此处省略若干行,屏幕会输出100行的100.

 

本文主要需要了解的有:

1. {001..100} 的含义,即通配符的用法

2. find 命令的用法

3. sh命令的巧妙嵌入

 

posted @ 2019-05-10 12:00  ba哥  阅读(920)  评论(0编辑  收藏  举报