Как создать каталог в пределах от 1 к энному?

Отъезд поля пароля, пустого для пользователя в passwd файл будет работать.

5
14.01.2018, 21:31
5 ответов

С расширением фигурной скобки.

mkdir gallery{1..50}
12
27.01.2020, 20:31
  • 1
    с начальным нулем был бы mkdir gallery{01..50} –  rubo77 26.11.2013, 13:10

В то время как уже существуют прекрасные ответы, и Вы уже запустили, я добавлю мой так или иначе.

Я всегда предпочитаю делать численно упорядоченные файлы с начальными нулями, как так:

mkdir $(printf "gallery%02d\n" {1..50})

Это даст Вам каталоги gallery01 через gallery50. Это помогает сохранить их приятно выровненными и в правильном порядке при сортировке.

5
27.01.2020, 20:31
  • 1
    В более новой версии удара можно сделать mkdir gallery{01..50} достигнуть того же результата. –  otokan 18.12.2012, 15:29
  • 2
    @otokan, ничего себе, Спасибо! протестировал в ударе 4.2.39 (1) в мягкой фетровой шляпе 18, это работает! –  LiuYan 刘研 18.12.2012, 16:33

Поскольку уже упомянутое расширение фигурной скобки не поддерживается всеми оболочками, которые можно также использовать seq от coreutils вместо этого:

for i in $(seq -w 1 50)
do
    mkdir "gallery$i"
done

Опция -w для равной ширины, т.е. создающий gallery01, gallery02 и т.д.

4
27.01.2020, 20:31
  • 1
    Никакая потребность в цикле: seq -f 'mkdir gallery%02g' 50 | sh. –  manatwork 18.12.2012, 16:37

Можно использовать расширение фигурной скобки в сценарии удара. Следующее создает каталоги gallery7 к gallery50 в текущем каталоге:

#!/bin/bash
for i in {5..70}
do
   mkdir "gallery$i"
done
0
27.01.2020, 20:31
  • 1
    Вы правы, но его громоздкое для создания сценария для задач как это.:) Особенно, если более короткие решения уже существуют. –  Santosh Kumar 04.01.2013, 17:12

Попробуйте сначала, в чем это решит с:

seq -f 'mkdir gallery%g' 50

перед передачей по каналу вывода к оболочке с:

seq -f 'mkdir gallery%g' 50 | sh

Это создает папки с начальным нулем:

seq -f 'mkdir gallery%02g' 50 | sh
0
27.01.2020, 20:31

Теги

Похожие вопросы