Bonjour à tous,
J'arrive pas à écrire le script dont la tâche est indiquée en commentaire. Comme cela ne parait pas très clair, voici un exemple :

2 png et C sont des répertoires ;
toto.txt titi.txt bidule.c truc1 truc2 machin.2 chose.png sont des fichiers ;
bidule.c doit être rangé dans C - machin.2 rangé dans 2 et chose.png dans png ;
toto.txt et titi.txt rangés dans txt qui doit être créé.

J'ai accouché dans la douleur d'un début de code suivant mais je n'avance plus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
#!/bin/sh
 
# Programme qui sélectionne dans le répertoire courant les fichiers
# possédant une extension (sauf les fichiers cachés) et qui les range
# dans le répertoire dont le nom est l'extension (créé automatiquement
# s'il n'existe pas)
 
ls -C
for i in $(ls *.*)
        do
        for j in $(ls *.* | cut -f2 -d.)
                do
                for k in $(find [0-9,a-zA-Z]* -type d)
                do
                if [ $k != $j ]; then
                        mkdir $k
                        mv $i $k
                        echo "Le répertoire $k a été créé."
                        echo "Le fichier $i a été déplacé dans $k."
                        break
                else
                        mv $i $k
                        echo "Le fichier $i a été déplacé dans $k."
                        break
                fi
        done
        done
        done
ls -C
Il me déplace tout dans 2 et ne créé pas txt. Un ch'tit coup de mains m'aiderait plutôt