Понадобилось мне переместить несколько сотен файлов в Mac OS в отдельную папку со своим именем. Поиск программ для этих целей ни к чему не привёл. Хорошо, что в этой операционной системе есть терминал и скрипты, которые легко могут помочь это сделать без дополнительных программ.
Создаём файл без расширения для будущего Bash скрипта. Открываем этот файл текстовым редактором и копируем туда следующий код:
#
MAIN_DIR=/Users/имя_пользователя/Downloads/требуемая_папка
cd $MAIN_DIR
find . -name '* *' | while read fname
do
new_fname=`echo $fname | tr " " "_"`
if [ -e $new_fname ]
then
echo "File $new_fname already exists. Not replacing $fname"
else
echo "Creating new file $new_fname to replace $fname"
mv "$fname" $new_fname
fi
done
find . -type f | while read file;
do
f=$(basename "$file")
f1=${f%.*}
if [ -d "$f1" ] ;
then
mv "$f" "$f1"
else
mkdir "$f1"
chmod 777 "$f1"
mv "$f" "$f1"
fi
done
MAIN_DIR – директория, в которой должны находиться файлы, которые требуется перенести. Файлы перенесутся в новые директории в папке, где лежат файлы.
Расширение файлов не важно, можно переносить jpg, gif, php и всё что угодно другое.
Скрипт работает очень быстро, надо быть внимательным, чтобы не перепутать директорию, а иначе перенесется что-нибудь другое.
Сохраняем скрипт и запускаем.