
Envoyé par
cobra85
Si tu as une autre idée, je suis preneur ! (Je fais en fonction de mes connaissances, qui il est vrai en shell/bash sont plutôt limité) Si je demande de l'aide sur un forum, c'est que je ne sais pas, sinon où est l'intérêt.
Mais putain il ne s'agit pas d'un problème de "connaissance" mais de "réflexion". Une "boucle" sert à "boucler" (à répéter une instruction ou un ensemble d'instructions). Depuis quand if a-t-il ce rôle ? Donc voilà, si tu ne fais pas l'effort minimum de réfléchir au sens des mots que tu emploies ne te plains pas si tu te fais alors jeter !

Envoyé par
cobra85
Ensuite, le champ "taille" doit prendre la valeur 1 si le nom du fichier contient "taille1", la valeur 2 si le nom du fichier contient "taille2" ...
taille=$(echo "$nom" |sed -e "s/^.\{0,\}taille\(.\).\{0,\}$/\1/")

Envoyé par
cobra85
Voici le script, qui à l'air de plutôt fonctionner
Oui de "marchotter" plutôt. Déjà je remarque que tu n'as tenu aucun compte de mon premier post dans lequel je demandais à quoi sert la variable "TEMP" inutilisée et ça aussi c'est insupportable. Je te retourne donc la question que tu m'as posé: où est l'intérêt de venir sur un forum si tu négliges ce qui t'y est dit ?
Donc tu fais une boucle sur chaque fichier "est.txt" puis une autre sur chaque fichier "nom.txt". Donc pour 100 fichiers (séparés en 2 groupes de 50) tu auras 2500 itérations. Tu trouves ça rentable ? Si encore les fichiers étaient aléatoires je veux bien mais là ils se suivent !!! Tu peux alors les prendre deux par deux !!!
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/bash
for fichier2 in *.txt
do
if test -z "$fichier1"
then
fichier1="$fichier2"
continue
fi
... (traitement fichier1 et fichier2 et insertions en bdd)...
unset fichier1
done |
Partager