Eu preciso criar pastas começando de 00 a 99 (00, 01, 02, 03, etc ....) em várias centenas de lugares. Existe um comando de linha única que me permitirá fazer isso?
16
A resposta de Mulaz está correta, mas muitas pessoas dizem que seq
é mau, porque a maioria das conchas permite que você faça o seguinte
mkdir {00..99}
No entanto, em algumas versões mais antigas do bash, o 0-9
preenchimento não é preenchido, então você teria que fazer
mkdir 0{0..9} {10..99}
Isso vai dar?
faz um loop para os números 0-99 e "-w" define a mesma largura (0 preenchimento para 0-9)
fonte
seq -w 0 99 | xargs mkdir
também faria o trabalho.mkdir $(seq -w 0 99)
. Ou use backticks em vez de$()
, mas não posso colocar backticks por causa da sintaxe de falha no servidor.mkdir `seq -w 0 99`
(Eu não pude evitar o espaço extra). Veja aqui , mas parece que o truque de incluir espaços nos delimitadores não funciona aqui.Eu sei que isso é antigo, mas minha recomendação seria:
para eu dentro
seq -f %02g 0 99
; mkdir $ i; feitoo -f% 02g garante a permanência de pelo menos dois caracteres, como 00 ou 99, e ainda permitirá 3 números de caracteres além de 99, portanto, se você tiver 100, ele não se tornará 001. Serão 00-99 100 em vez de 001- 100 como o -w faz.
fonte