Организатор файлов по типу
Часть раздела Основы путешествия по Terminal на Coddy. Урок 80 из 82.
Задание
ЛегкоСоздайте shell-скрипт под названием organize.sh, который организует файлы в папке downloads, перемещая их в подпапки на основе расширений файлов.
Ваш скрипт должен:
- Начинаться со строки shebang (
#!/bin/bash) - Проходить циклом по всем файлам в директории
downloads - Для каждого файла извлекать его расширение с помощью
${file##*.} - Создавать папку для этого расширения внутри
downloads, если она не существует - Перемещать файл в соответствующую папку расширения
- Выводить
Moved [filename] to [extension]/для каждого перемещённого файла
Сделайте скрипт исполняемым и запустите его. Ваш вывод должен быть:
Moved document.pdf to pdf/
Moved image.jpg to jpg/
Moved notes.txt to txt/
Moved photo.jpg to jpg/
Moved readme.txt to txt/
Moved report.pdf to pdf/
Moved song.mp3 to mp3/
Moved track.mp3 to mp3/После запуска скрипта проверьте организацию, выведя список папки downloads с помощью ls downloads. Вы должны увидеть четыре папки: jpg, mp3, pdf и txt.
Подсказка: Используйте
for file in downloads/*; doдля прохода по файлам. Внутри цикла извлекайте только имя файла с помощьюbasename "$file"и расширение с помощью${file##*.}. Используйтеmkdir -p "downloads/$ext"для создания папки иmv "$file" "downloads/$ext/"для перемещения файла.
Попробуйте сами
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данныхПотренируйтесь самостоятельно: Песочница Terminal