[SH] Combinaisons fichiers dans un dossier
Résolu
ZZ2F3
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
ZZ2F3 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
ZZ2F3 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurais besoin de savoir comment faire pour réaliser 2 boucles imbriquées sur des fichiers contenus dans un dossier.
En plus clair (lol), j'aimerais en partant d'un dossier 'Essai' contenant Essai1, Essai2, Essai3, Essai4 pouvoir travailler sur les (4*3/2) 6combinaisons possibles {(Essai1,Essai2),(Essai1,Essai3),(Essai1,Essai4),(Essai2,Essai3),(Essai2,Essai4),(Essai3,Essai4)}
Rq : Les combinaisons sont en faites les paires possibles de ce fichiers, je ne prends pas les doublons et la paire (Essai2,Essai3) est identique à la paire (Essai3,Essai2)
Je sais comment réaliser une boucle sur les fichiers contenus dans un dossier [Merci Jipicy ;)] :
for fich in /home/Essai/*; do echo "fichier trouvé dans le répertoire Essai : " $fich; done
Seulement j'aimerais faire une double boucle du genre :
J'espère avoir été assez clair et si ce n'est pas le cas n'hésitez pas à me demander des éclaircissements!
Merci par avance de votre précieuse aide!
Bonne fin de journée
R.
J'aurais besoin de savoir comment faire pour réaliser 2 boucles imbriquées sur des fichiers contenus dans un dossier.
En plus clair (lol), j'aimerais en partant d'un dossier 'Essai' contenant Essai1, Essai2, Essai3, Essai4 pouvoir travailler sur les (4*3/2) 6combinaisons possibles {(Essai1,Essai2),(Essai1,Essai3),(Essai1,Essai4),(Essai2,Essai3),(Essai2,Essai4),(Essai3,Essai4)}
Rq : Les combinaisons sont en faites les paires possibles de ce fichiers, je ne prends pas les doublons et la paire (Essai2,Essai3) est identique à la paire (Essai3,Essai2)
Je sais comment réaliser une boucle sur les fichiers contenus dans un dossier [Merci Jipicy ;)] :
for fich in /home/Essai/*; do echo "fichier trouvé dans le répertoire Essai : " $fich; done
Seulement j'aimerais faire une double boucle du genre :
Pour chaque fichier i du dossier Essai Faire Pour chaque fichier ">i" du dossier Essai Faire Diverses choses =) Fait Fait
J'espère avoir été assez clair et si ce n'est pas le cas n'hésitez pas à me demander des éclaircissements!
Merci par avance de votre précieuse aide!
Bonne fin de journée
R.
A voir également:
- [SH] Combinaisons fichiers dans un dossier
- Dossier appdata - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Impossible de supprimer un dossier - Guide
- Mettre un mot de passe sur un dossier - Guide
2 réponses
Salut,
Je ne sais pas si j'ai bien tout compris, mais voilà un bout de code basé sur un tableau...
Je ne sais pas si j'ai bien tout compris, mais voilà un bout de code basé sur un tableau...
[tmpfs]$ tree . |-- Essai | |-- Essai1 | |-- Essai2 | |-- Essai3 | `-- Essai4 `-- foo.sh 1 directory, 5 files [tmpfs]$ cat foo.sh #! /bin/bash cd Essai tableau=( $(ls *) ) count=${#tableau[@]} for (( i=0; i<count; i++ )) do j=$i while [ "$j" -lt "$((count-1))" ] do echo ${tableau[$i]},${tableau[$((j+1))]} j=$((j+1)) done done [tmpfs]$ ./foo.sh Essai1,Essai2 Essai1,Essai3 Essai1,Essai4 Essai2,Essai3 Essai2,Essai4 Essai3,Essai4 [tmpfs]$;-))
Merci c'est exactement ce que je cherchais et je ne connaissais pas les conditions d'utilisation!
Petit rajour que j'ai fait si cela peut servir à quelqu'un :
set tableau=`ls $Directory | grep -v '/'`
Cette commande permet de n'avoir que les fichiers contenus dans le dossier.
En tous cas [encore] Merci Jipicy!
Bonne journée
R.
Petit rajour que j'ai fait si cela peut servir à quelqu'un :
set tableau=`ls $Directory | grep -v '/'`
Cette commande permet de n'avoir que les fichiers contenus dans le dossier.
En tous cas [encore] Merci Jipicy!
Bonne journée
R.