Trier automatiquement votre dossier Téléchargements avec un script Bash
Un script de vingt lignes suffit à ranger vos fichiers par type, chaque semaine, sans y penser. Idéal pour découvrir le Bash sans se noyer dans la théorie.
Votre dossier Téléchargements ressemble à un grenier ? Plutôt que de le trier à la main une fois par an, confiez la tâche à un script. Vous allez écrire un petit programme Bash qui déplace les images, documents, archives, vidéos et fichiers audio dans des sous-dossiers, avec un mode simulation pour ne rien casser.
Avant de commencer
- Linux, macOS ou Windows avec WSL
- Savoir ouvrir un terminal et se déplacer dans les dossiers
- Un éditeur de texte
-
Étape 1 : Créer le fichier du script
Dans votre dossier personnel, créez un répertoire
binpour vos scripts, puis le fichier lui-même :Terminal mkdir -p ~/bin nano ~/bin/trier-telechargements.sh -
Étape 2 : Écrire le script
Collez le contenu ci-dessous. La première ligne (le shebang) indique quel interpréteur utiliser ;
set -euo pipefailarrête le script à la moindre erreur ; la fonctiontrierdéplace les fichiers correspondant à des motifs vers un dossier cible.trier-telechargements.sh #!/usr/bin/env bash # Range un dossier par type de fichier. set -euo pipefail DOSSIER="${1:-$HOME/Téléchargements}" # dossier à trier (argument facultatif) SIMULATION="${SIMULATION:-1}" # 1 = affiche seulement, 0 = déplace shopt -s nullglob nocaseglob # motifs vides ignorés, casse indifférente trier() { local cible="$1"; shift local motif fichier for motif in "$@"; do for fichier in "$DOSSIER"/$motif; do [[ -f "$fichier" ]] || continue if [[ "$SIMULATION" == "1" ]]; then echo "[simulation] $(basename "$fichier") -> $cible/" else mkdir -p "$DOSSIER/$cible" mv -n -- "$fichier" "$DOSSIER/$cible/" echo "Déplacé : $(basename "$fichier") -> $cible/" fi done done } trier "Images" "*.jpg" "*.jpeg" "*.png" "*.gif" "*.webp" trier "Documents" "*.pdf" "*.docx" "*.odt" "*.txt" "*.xlsx" trier "Archives" "*.zip" "*.tar.gz" "*.7z" trier "Vidéos" "*.mp4" "*.mkv" "*.mov" trier "Audio" "*.mp3" "*.flac" "*.wav" -
Étape 3 : Rendre le script exécutable et le tester à blanc
Donnez-lui le droit de s’exécuter, puis lancez-le en mode simulation (le comportement par défaut). Il affiche ce qu’il ferait, sans rien déplacer.
Terminal chmod +x ~/bin/trier-telechargements.sh ~/bin/trier-telechargements.shLa simulation liste les déplacements prévus, sans toucher à vos fichiers. -
Étape 4 : Lancer pour de vrai
Quand la liste vous convient, désactivez la simulation en passant la variable
SIMULATION=0:Terminal SIMULATION=0 ~/bin/trier-telechargements.sh -
Étape 5 : Planifier l’exécution chaque semaine
Sous Linux,
cronexécute des tâches à heure fixe. Ouvrez votre table de tâches aveccrontab -eet ajoutez la ligne suivante : le script tournera tous les vendredis à 20 h.crontab 0 20 * * 5 SIMULATION=0 $HOME/bin/trier-telechargements.sh
Pour finir
Vous venez d’écrire un vrai programme utile, avec variables, fonction, boucles et condition. Pour aller plus loin : ajoutez un dossier « Autres » pour le reste, ou archivez les fichiers de plus de six mois avec la commande find.