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 :
Il me déplace tout dans 2 et ne créé pas txt. Un ch'tit coup de mains m'aiderait plutôt
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![]()
Partager