Мне нужно добавить подкаталоги в несколько каталогов. Пока у меня есть структура типа dog[11-20]-[A-L], и мне нужен подкаталог, который выглядит как dog[11-20]-[A-L]-1. Я хотел бы попытаться выполнить это с помощью как можно меньшего количества команд. Мои усилия с командой find и конвейером не сработали. Например, dog11-A мне нужен подкаталог с именем dog11-A-1, а для dog15-B мне нужен подкаталог dog15-B-1.
Добавить последовательные подкаталоги в последовательные каталоги
Ответы (1)
for d in dog{11..20}-{A..L}; do
mkdir -p "$d/$d-1"
done
Это также создаст родителя, если это необходимо. Вы также можете создать требуемые имена в массиве и передать его одному вызову mkdir
. Если
for d in {11..20}; do
for suffix in {A..L}; do
base=dog$d-$suffix
dirs+=("$base/$base-1")
done
done
mkdir -p "${dirs[@]}"
Если это дает вам ошибку «слишком много аргументов», вы можете сделать большее количество агрегированных вызовов:
for d in {11..20}; do
dirs=()
for suffix in {A..L}; do
base=dog$d-$suffix
dirs+=("$base/$base-1")
done
mkdir -p "${dirs[@]}"
done
person
chepner
schedule
22.09.2014
Я проверю и подтвержу! Могу ли я добавить ту же группу файлов в эти подкаталоги?
- person FSUresearch; 22.09.2014
Если вы копируете группу файлов в каждый подкаталог, вам придется использовать первый вариант (один вызов
mkdir
на каталог); Я не отказываюсь от каких-либо команд, которые могут копировать набор файлов в несколько мест одновременно.
- person chepner; 22.09.2014
ПРОБЛЕМА: mkdir: невозможно создать каталог
/-1': Permission deniedmkdir: cannot create directory
/-1': Отказано в разрешении mkdir: невозможно создать каталог /-1': Permission denied mkdir: cannot create directory
/-1': Отказано в разрешении mkdir: невозможно создать каталог /-1': Permission denied ./sdc.sh: line 8: syntax error near unexpected token
for' ./sdc.sh: строка 8: `для суффикса в {A ..Л}; делать'
- person FSUresearch; 22.09.2014
совет? я написал скрипт, объединив верхнюю часть кода и нижнюю
- person FSUresearch; 22.09.2014
Я только что использовал нижнюю часть, и я получаю синтаксическую ошибку строки 4 рядом с суффиксом «для» и «для» в {A..L}; делать'
- person FSUresearch; 22.09.2014
-1
для каждого существующего (без суффикса) каталога? - person Etan Reisner   schedule 22.09.2014