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.