• # pas dur :)

    Posté par . En réponse au message HELP - répartir fichiers dans plusieurs dossiers. Évalué à 3.

    for file in * 
    do
     mv "${file}" $(mktemp -d)
    done

    et voila tous les fichier et dossier du dossier courant sont déplacé dans autant de de dossiers dans ton dossier temporaire; la bonne blague c'est que si ton dossier temporaire est en ramdisk (mémoire vive), et que tu n'as pas lu / compris ce que faisait ce bout de code, ça disparaît au prochains reboot ;)

    Bon sinon on va pas faire tes exercices à ta place, mais je vais quand même aider

    • for va lister tous les fichier du dossier
    • do/done délimite la boucle
    • mv (MoVe déplace le / les fichier donnés en paramètre vers le dernier paramètre, si le dernier est un nom de dossier déplace tous les argument 1..(n-1) dans ce dossier, si ce dernier est un nom de fichier renomme le fichier/dossier 1 en 2; si tu donnes 3 ou plus arguments et que le dernier est un nom de fichier, ne marche pas
    • "${file}" utilise la variable file, les accolades permettent de délimiter le nom de variable, et les "" d'inclure les espace dans le 1er argument, sinon "un nom avec espace" sera interprété comme 4 paramètre, et évite d'autre effets de bords potentiels
    • mktemp créer un fichier/dossier temporaire, et affiche le dossier/fichier crée sur la sortie standard
    • $() exécute une sous processus et remplace le résultat de ce dernier à la place des $(), tu peux l'encadrer de ""

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent