Com a entrada que você forneceu, consegui fazer isso com o seguinte comando
while read -r dir; do mkdir -p ./"$dir"; done< <(sed 's@ > @/@g' input)
Você pode substituir ./
pelo caminho do diretório no qual gostaria que a árvore de diretórios fosse iniciada, se não o diretório atual.
Isso usa sed
para converter suas linhas de entrada de algo como:
ALFA ROMEO > 147 > Scheinwerferblenden
para:
ALFA ROMEO/147/Scheinwerferblenden
Em seguida, ele alimenta essa saída para um loop while que usa mkdir -p
para criar a árvore de diretórios.
$ cat input
ALFA ROMEO > 147 > Scheinwerferblenden
ALFA ROMEO > 156 > Scheinwerferblenden
ALFA ROMEO > 156 > Kühlergrill
AUDI > 80 B3 > Heckspoiler
$ while read -r dir; do mkdir -p ./"$dir"; done< <(sed 's@ > @/@g' input)
$ tree
.
├── ALFA\ ROMEO
│ ├── 147
│ │ └── Scheinwerferblenden
│ └── 156
│ ├── K34hlergrill
│ └── Scheinwerferblenden
├── AUDI
│ └── 80\ B3
│ └── Heckspoiler
└── input
9 directories, 1 file