Anche se di Muru printf
modo non può essere battuto, io personalmente come jot
per questo genere di cose. jot
non è installato di default in Ubuntu. Il athena-jot
pacchetto lo fornisce. Uno di questi comandi funziona:
mkdir -p "$(jot -s/ -c 26 A)"
jot -s/ -c 26 A | xargs mkdir -p
In realtà qualsiasi comando che generi la sequenza di lettere e le unisca con delle barre faciliterà ciò, perché il suo output può essere passato mkdir -p
o tramite la sostituzione del comando (come nella risposta di Muru ) o usando xargs
. Ecco alcuni esempi che utilizzano alcuni strumenti e xargs
che non richiedono l'installazione di software, tranne forse su sistemi molto minimali o Ubuntu Core:
perl -we 'print join "/", A..Z' | xargs mkdir -p
ruby -we 'print (?A..?Z).to_a * ?/' | xargs mkdir -p
python3 -c 'print("/".join(__import__("string").ascii_uppercase))' | xargs mkdir -p
Vecchio versioni di Ubuntu sono dotati di Python 2 invece di Python 3. Per questo, basta cambiare python3
a python
fare quel ultima opera di comando, se si vuole veramente fare questo con Python.
Allo stesso modo, il modo breve e semplice di Muru può in alternativa essere scritto:
printf '%s/' {A..Z} | xargs mkdir -p
Il trailing /
, nel percorso della directory che mkdir -p
viene richiesto di creare, non è un problema ed è probabilmente stilisticamente preferibile. Ma va bene ometterlo, come fanno gli altri esempi in questa risposta.