Come creare cartelle 00-99 con un singolo comando in Ubuntu?


17

Devo creare cartelle che vanno da 00 a 99 (00, 01, 02, 03, ecc ....) in diverse centinaia di posti. C'è un comando a riga singola che mi permetterà di farlo?

Risposte:


46

La risposta di Mulaz è corretta, ma molte persone dicono che il seqmale è perché la maggior parte delle conchiglie ti permetterà di fare quanto segue

mkdir {00..99}

Tuttavia, in alcune versioni precedenti di bash, 0-9non è imbottito, quindi dovresti farlo

mkdir 0{0..9} {10..99}

9
+1 Dovrebbe essere la risposta accettata IMHO. Questo Bash non è solo idiomatico, ma non richiede l'uso di un programma esterno (seq lo è).
Trollhorn,

1
Così è come dovrebbe essere fatto.
phoxis,

7
Funziona anche questo:> mkdir {0..9} {0..9}
Orieg

17

Questo lo farà?

for i in `seq -w 0 99`; do mkdir $i; done

fa un ciclo per i numeri 0-99 e "-w" imposta la stessa larghezza (0 riempimento per 0-9)


7
seq -w 0 99 | xargs mkdirfarebbe anche il lavoro.
Jay,

11
Puoi abbandonare il loop e farlo mkdir $(seq -w 0 99). Oppure usa i backtick invece di $(), ma non posso inserirli a causa della sintassi serverfault.
Patrick,

@Patrick: Sì, puoi: mkdir `seq -w 0 99` (Non ho potuto evitare lo spazio extra). Vedi qui , ma sembra che il trucco di includere spazi nei delimitatori non funzioni qui.
Keith Thompson,

2
I backtick di @Patrick sono cattivi: mywiki.wooledge.org/BashFAQ/082
Andrew

@Andrew sì, ne sono consapevole, ma preferisco rimanere con lo stile di codifica di qualunque cosa io stia rispondendo.
Patrick,

2

So che questo è vecchio, ma la mia raccomandazione sarebbe:

per me dentro seq -f %02g 0 99; fai mkdir $ i; fatto

il -f% 02g assicura che rimanga almeno due caratteri, come 00 o 99, e consentirà comunque 3 numeri di caratteri oltre 99 quindi se hai 100 non diventerà 001. Sarà 00-99 100 invece di 001- 100 come fa -w.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.