O script bash
a seguir criará uma estrutura de diretório que você deseja:
#!/usr/bin/env bash
set -e
year=2018
mkdir "$year"
for month in {6..12}
do
mkdir "$year"/"$month"
days=$(cal "$month" "$year" | awk 'NF {DAYS = $NF}; END {print DAYS}')
for ((i=1; i <= days; i++))
do
mkdir "$year"/"$month"/"$(printf "%02d\n" "$i")"
done
done
Use tree
para ver como a estrutura se parece:
$ tree 2018
2018
├── 10
│ ├── 01
│ ├── 02
│ ├── 03
│ ├── 04
│ ├── 05
│ ├── 06
│ ├── 07
│ ├── 08
│ ├── 09
│ ├── 10
│ ├── 11
│ ├── 12
│ ├── 13
│ ├── 14
│ ├── 15
│ ├── 16
│ ├── 17
│ ├── 18
│ ├── 19
│ ├── 20
│ ├── 21
│ ├── 22
│ ├── 23
│ ├── 24
│ ├── 25
│ ├── 26
│ ├── 27
│ ├── 28
│ ├── 29
│ ├── 30
│ └── 31
├── 11
│ ├── 01
│ ├── 02
(...)
O método para verificar quantos dias estão em um determinado mês vem de aqui .