Мне нужно создать папки, начиная с 00 до 99 (00, 01, 02, 03 и т. Д.) В нескольких сотнях мест. Есть ли однострочная команда, которая позволит мне сделать это?
17
Ответ Мулаза правильный, но многие говорят, что seq
это зло, потому что большинство снарядов позволят вам сделать следующее
mkdir {00..99}
Однако в некоторых старых версиях bash нет 0-9
дополнения, поэтому вам придется
mkdir 0{0..9} {10..99}
Будет ли это делать?
делает цикл для чисел 0-99, а "-w" устанавливает равную ширину (заполнение 0 для 0-9)
источник
seq -w 0 99 | xargs mkdir
также сделал бы работу.mkdir $(seq -w 0 99)
. Или вместо них использовать обратные кавычки$()
, но я не могу добавить кавычки из-за синтаксиса сервера.mkdir `seq -w 0 99`
(Я не мог избежать дополнительного места). Смотрите здесь , но похоже, что хитрость включения пробелов в разделители здесь не работает.Я знаю, что это старый, но моя рекомендация будет:
ибо я в
seq -f %02g 0 99
; do mkdir $ i; сделано-f% 02g гарантирует, что он останется как минимум двумя символами, такими как 00 или 99, и будет по-прежнему разрешать 3 символа после 99, поэтому если у вас есть 100, он не станет 001. Это будет 00-99 100 вместо 001- 100 таких как -w делает.
источник