Menu
CoddyTech

Организатор файлов по типу

Часть раздела Основы путешествия по Terminal на Coddy. Урок 80 из 82.

challenge icon

Задание

Легко

Создайте shell-скрипт под названием organize.sh, который организует файлы в папке downloads, перемещая их в подпапки на основе расширений файлов.

Ваш скрипт должен:

  1. Начинаться со строки shebang (#!/bin/bash)
  2. Проходить циклом по всем файлам в директории downloads
  3. Для каждого файла извлекать его расширение с помощью ${file##*.}
  4. Создавать папку для этого расширения внутри downloads, если она не существует
  5. Перемещать файл в соответствующую папку расширения
  6. Выводить 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/" для перемещения файла.

Попробуйте сами

Терминал

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal