Bagaimana cara membuat folder 00-99 dengan satu perintah di Ubuntu?

17

Saya perlu membuat folder mulai dari 00 hingga 99 (00, 01, 02, 03, dll ....) di beberapa ratus tempat. Apakah ada perintah baris tunggal yang akan membiarkan saya melakukan itu?

Jonaton
sumber

Jawaban:

46

jawaban mulaz benar, tetapi banyak orang mengatakan seqitu jahat karena kebanyakan kerang akan membiarkan Anda melakukan yang berikut

mkdir {00..99}

Namun dalam beberapa versi bash yang lebih lama, 0-9jangan empuk, jadi Anda harus melakukannya

mkdir 0{0..9} {10..99}
Patrick
sumber
9
+1 Seharusnya jawaban yang diterima IMHO. Tidak hanya Bash idiomatik ini, Bash tidak perlu menggunakan program eksternal (yang seq adalah).
Trollhorn
1
Inilah yang harus dilakukan.
phoxis
7
Berikut ini juga berfungsi:> mkdir {0..9} {
0..9
17

Akankah ini berhasil?

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

melakukan loop untuk angka 0-99, dan "-w" menetapkan lebar yang sama (0 padding untuk 0-9)

mulaz
sumber
7
seq -w 0 99 | xargs mkdirakan juga melakukan pekerjaan itu.
Jay
11
Anda dapat membuang lingkaran dan lakukan mkdir $(seq -w 0 99). Atau gunakan backticks bukan $(), tapi saya tidak bisa memasukkan backticks karena sintaks serverfault.
Patrick
@ Patrick: Ya, Anda bisa: mkdir `seq -w 0 99` (Saya tidak bisa menghindari ruang ekstra). Lihat di sini , tapi sepertinya trik memasukkan spasi di pembatas tidak berfungsi di sini.
Keith Thompson
2
@Patrick backticks buruk: mywiki.wooledge.org/BashFAQ/082
Andrew
@Andrew ya saya tahu itu, tapi saya lebih suka tetap dengan gaya pengkodean apa pun yang saya balas.
Patrick
2

Saya tahu ini sudah tua, tetapi rekomendasi saya adalah:

untuk saya masuk seq -f %02g 0 99; lakukan mkdir $ i; selesai

the -f% 02g memastikannya tetap setidaknya dua karakter, seperti 00 atau 99, dan masih akan memungkinkan 3 angka karakter melewati 99 jadi jika Anda memiliki 100 tidak akan menjadi 001. Ini akan menjadi 00-99 100 bukannya 001- 100 seperti -w tidak.

Nate W
sumber