Forum Linux.débutant Trier des fichiers sans connaître leur extension

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
13
déc.
2019

Bonjour,

J'essaye de réaliser un script qui trie les fichiers présent dans mon répertoire courant en fonction de leur extension. Mais j'ai un petit problème pour les fichiers dont je ne trouve pas l'extension. J'aimerais bien les déplacer dans un autre répertoire nommée "Fichiers_inconnus". Mais je ne vois pas trop comment faire.
Si vous avez des suggestions je suis preneur '.

Voici mon code ci-dessous:

for fichier in $liste_fichier

        do
                fichier_simplifier=$(file -b --mime-type $fichier)

                for ext in $(echo "image/jpeg image/png"); do
                        if [ "$fichier_simplifier" = "$ext" ]; then
                                mv $fichier Images
                        fi
                done

                for ext in $(echo "inode/x-empty application/pdf"); do
                        if [ "$fichier_simplifier" = "$ext" ]; then
                                mv $fichier Document
                        fi
                done

                for ext in $(echo "text/html text/css text/javascript text/plain"); do
                        if [ "$fichier_simplifier" = "$ext" ]; then
                                mv $fichier Informatique
                        fi
                done

                for ext in $(echo "video/webm video/ogg"); do
                        if [ "$fichier_simplifier" = "$ext" ]; then
                                mv $fichier Videos
                        fi
                done

                for ext in $(echo "audio/mpeg audio/midi audio/webm audio/ogg audio/wav"); do
                        if [ "$fichier_simplifier" = "$ext" ]; then
                                mv $fichier Musique
                        fi
                done
        done

echo "Le trie de vos fichier est terminé"
  • # utiliser une autre syntaxe

    Posté par  . Évalué à 9.

    # on boucle sur tous les fichiers
    for fichier in $liste_fichier
    do
       fichier_simplifier=$(file -b --mime-type $fichier)
    
    # on regarde le mime-type du fichier trouvé juste avant
       case $fichier_simplifier in
    
    # on compare avec des valeurs connues, et on deplace
    # ici les images
         "image/jpeg")
         "image/png")
              mv $fichier Images/
         ;;
    
    # là les videos
         "video/webm")
         "video/ogg")
             mv $fichier Videos/
         ;;
    
    # et la les autres
         *)
           mv $fichier Type_inconnu/
         ;;
       esac
    
    done

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.