Menu
Coddy logo textTech

Organisateur de fichiers par type

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 80 sur 82.

challenge icon

Défi

Facile

Créez un script shell appelé organize.sh qui organise les fichiers dans le dossier downloads en les déplaçant dans des sous-dossiers basés sur leurs extensions de fichiers.

Votre script devrait :

  1. Commencer par la ligne shebang (#!/bin/bash)
  2. Boucler à travers tous les fichiers dans le répertoire downloads
  3. Pour chaque fichier, extraire son extension en utilisant ${file##*.}
  4. Créer un dossier pour cette extension à l'intérieur de downloads s'il n'existe pas
  5. Déplacer le fichier dans son dossier d'extension correspondant
  6. Afficher Moved [filename] to [extension]/ pour chaque fichier déplacé

Rendez le script exécutable et exécutez-le. Votre sortie devrait être :

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/

Après avoir exécuté le script, vérifiez l'organisation en listant le dossier downloads avec ls downloads. Vous devriez voir quatre dossiers : jpg, mp3, pdf et txt.

Indice : Utilisez for file in downloads/*; do pour boucler à travers les fichiers. À l'intérieur de la boucle, extrayez juste le nom du fichier avec basename "$file" et l'extension avec ${file##*.}. Utilisez mkdir -p "downloads/$ext" pour créer le dossier et mv "$file" "downloads/$ext/" pour déplacer le fichier.

Essayez vous-même

Terminal

Toutes les leçons de Les fondamentaux