Organisateur de fichiers par type
Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 80 sur 82.
Défi
FacileCré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 :
- Commencer par la ligne shebang (
#!/bin/bash) - Boucler à travers tous les fichiers dans le répertoire
downloads - Pour chaque fichier, extraire son extension en utilisant
${file##*.} - Créer un dossier pour cette extension à l'intérieur de
downloadss'il n'existe pas - Déplacer le fichier dans son dossier d'extension correspondant
- 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/*; dopour boucler à travers les fichiers. À l'intérieur de la boucle, extrayez juste le nom du fichier avecbasename "$file"et l'extension avec${file##*.}. Utilisezmkdir -p "downloads/$ext"pour créer le dossier etmv "$file" "downloads/$ext/"pour déplacer le fichier.
Essayez vous-même
Toutes les leçons de Les fondamentaux
4Répertoires
Créer Un RépertoireCopier Un RépertoireDéplacer Et Renommer Un RépertoireSupprimer Un RépertoireRécapitulatif - Opérations Sur Les Répertoires7Contenu de fichier
Head et TailComptage de motsCommande SortCommande UniqBases de GrepGrep avec optionsRécap - Détective de texte10Projet Analyseur de Journaux
Aperçu du ProjetAffichage du Fichier Journal2Navigation
Afficher le répertoire de travailLister les fichiersChanger de répertoireChemins absolus vs relatifsRépertoire personnel et racineRécap - Trouver son chemin5Projet Organiser les Photos
Aperçu du ProjetCréation de la Structure8Redirection
Sortie standardÉcraser vers un fichierAjouter à un fichierEntrée standardErreur standardRécapitulatif - Constructeur de logs11Permissions
Comprendre les permissionsLire les permissionsChmod avec des nombresChmod avec des symbolesPropriété des fichiersRécapitulatif - Verrouillez tout14Projet de Script de Sauvegarde
Aperçu du ProjetObtenir le Chemin Source3Fichiers
Créer Un FichierLire Un FichierCopier Un FichierDéplacer Et Renommer Un FichierSupprimer Un FichierRécapitulatif - Opérations Sur Les Fichiers6Caractères jokers et motifs
Le joker étoileLe joker point d'interrogationJokers entre crochetsCombiner les jokersRécapitulatif - Opérations sélectives9Les pipes
Qu'est-ce qu'une pipe ?Chaîner deux commandesChaîner plusieurs commandesPipe avec GrepRécapitulatif - Pipeline de données12Environnement
Variables d'environnementVoir toutes les variablesLa variable PATHDéfinir une variableExporter une variableLe fichier de profilRécapitulatif - Environnement personnalisé15Défis Finaux
Organisateur de fichiers par typeCompteur de fréquence des motsVérificateur de santé du système