Назад | Перейти на главную страницу

сценарий оболочки linux: как переместить все подпапки с заданным именем?

Я хотел бы переместить все подпапки, начинающиеся с заданного суффикса (Blah_ в примере), в другой каталог с помощью сценария linux bash. Вот как выглядит сценарий:

srcDir="/home/me/"
archiveDir="/Archive/"
prefix="Blah_"
mv -v -f "$srcDir$prefix*" -t $archiveDir

Хотя внутри / home / me есть много каталогов, начинающихся с 'Blah_', это приводит к следующему сообщению об ошибке:

mv: cannot stat `/home/me/Blah_*': No such file or directory

Теперь мне любопытно, что здесь не так. Как нужно изменить приведенный выше сценарий, чтобы переместить все подпапки, начинающиеся с «Blah», в папку архива?

mv -v -f ${srcDir}${prefix}* -t $archiveDir

в этом случае, если вы процитируете, * будет интерпретироваться буквально

Как насчет:

find   /home/me   -type   d   -name   "Blah_*"   -exec   mv   -i  {}  /Archive \;