Muszę tworzyć foldery od 00 do 99 (00, 01, 02, 03 itd.) W kilkuset miejscach. Czy jest jedno polecenie, które pozwoli mi to zrobić?
17
Odpowiedź mulaz jest poprawna, ale wiele osób twierdzi, że seq
jest zła, ponieważ większość pocisków pozwoli ci wykonać następujące czynności
mkdir {00..99}
Jednak w niektórych starszych wersjach bash 0-9
nie są wyściełane, więc musiałbyś to zrobić
mkdir 0{0..9} {10..99}
Czy to da radę?
wykonuje pętlę dla liczb 0–99, a „-w” ustawia równą szerokość (0 wypełnienia dla 0–9)
źródło
seq -w 0 99 | xargs mkdir
również wykonałby zadanie.mkdir $(seq -w 0 99)
. Lub użyj backticków zamiast$()
, ale nie mogę wstawiać backticków z powodu składni błędu serwera.mkdir `seq -w 0 99`
(Nie mogłem uniknąć dodatkowej przestrzeni). Zobacz tutaj , ale wygląda na to, że sztuczka polegająca na umieszczaniu spacji w ogranicznikach nie działa tutaj.Wiem, że to stare, ale zalecam:
dla mnie w
seq -f %02g 0 99
; zrób mkdir $ i; gotowy-f% 02g zapewnia, że pozostanie co najmniej dwa znaki, takie jak 00 lub 99, i nadal będzie dopuszczać 3 liczby znaków powyżej 99, więc jeśli masz 100, nie będzie to 001. Będzie to 00-99 100 zamiast 001- 100 takich jak -w.
źródło