Se connecter avec
S'enregistrer | Connectez-vous

sorti commande find en bourne shell

Dernière réponse : dans Le monde de Linux

Bonjour, je suis actuellement en reconversion dans le domaine de l'informatique de gestion et à ce titre, j'ai des cours et exercices sur le monde unix.
Mon problème actuel, c'est un exercice por lequel je dois réaliser un script en bourne shell qui selectionne dans le repertoire courant les fichiers possédant une extension et qui les ranges dans le repertoire dont le nom est l'extension (crée automatiquement s'il n'existe pas).
j'en suis pour le moment à ceci :
  1. find *.?*

pour lister que les fichiers ayant une extension. Maintenant je cherche à récuperer la sortie de cette commande pour envoyer chaque fichier dans un repertoire dont le nom est l'extension du fichier. Y aurait-il moyen de lister chaque fichier par un nom de variable? genre $1 $2 $3 $n avec find ou ls.
Voila. Je ne demande pas qu'on me realise l'exercice, j'aurais juste besoin d'une piste pour avancer.

Merci d'avance
Lassé par la pub ? Créez un compte

Faut faire un script, style crados :
for fichier in $( find . -name *.?* -type f );
do
Fichier=` basename $fichier 2>&1`
for champ in $( echo $Fichier | tr "." " " );
do
Extension=$champ
done ;
if ! test -d $Extension ;
then
echo "Le répertoire $Extension n'existe pas"
continue

fi
cp $ fichier $Extension
done
Lassé par la pub ? Créez un compte