Сценарий оболочки Linux: как переместить все подпапки с заданным именем?
Я хотел бы переместить все подпапки, начиная с заданного суффикса (в примере Blah_), в другой каталог, используя скрипт bash linux. Вот как выглядит скрипт:
srcDir="/home/me/"
archiveDir="/Archive/"
prefix="Blah_"
mv -v -f "$srcDir$prefix*" -t $archiveDir
Хотя существует множество каталогов, начинающихся с 'Blah_', внутри / home / me, это приводит к следующему сообщению об ошибке:
mv: cannot stat `/home/me/Blah_*': No such file or directory
Теперь мне любопытно, что здесь не так. Как изменить вышеприведенный скрипт, чтобы переместить все подпапки, начинающиеся с "Blah", в папку архива?
2 ответа
Решение
mv -v -f ${srcDir}${prefix}* -t $archiveDir
в этом случае, если вы цитируете, * будет интерпретироваться буквально
Как насчет:
find /home/me -type d -name "Blah_*" -exec mv -i {} /Archive \;