Bonjour,
pas trop familiarisé avec le shell, j'ai une demande de travaux avec, à savoir re-découper une arborescence de répertoire et je demande votre aide, au moins sur les pistes à suivre.
La problématique : Un répertoire existe et suite à une extraction de fichiers dedans, se présente autant de répertoires que de fichiers générés. Le problème c'est la volumétrie trop importante, car il y en a directement dedans 130.000, or le file system utilisé ne peut excéder les 30.000 éléments par répertoire, donc temporairement celui-ci a été changé, mais cela va revenir comme avant.
Au niveau du nommage du répertoire, il s'agit d'une séquence de 6 chiffres. L'idée serait donc de découper les répertoires en ensemble de sous répertoires de chiffre unitaire selon la séquence avec au final le fichier dedans. Ca boucle ainsi de chiffre en chiffre, on se retrouverait ainsi avec une arborescence à 7 niveaux au lieu de 1, ce qui allégerait considérablement le nombre de répertoires et fichier par répertoire et sous répertoire.
ex illustré (/ correspond au séparateur entre répertoire) :
- à la base :
. x le répertoire général racine d'accueil des répertoires et fichiers, nous avons donc =>
x / 123456 / fichier1.
. un deuxième exemple 123457 donne =>
x / 123457 / fichier2.
- résultat voulu : suite à la découpe algorithmique à effectuer, tel que décrite plus haut, nous voulons donc =>
. x / 1 / 2 / 3 / 4 / 5 / 6 / fichier1
. x / 1 / 2 / 3 / 4 / 5 / 7 / fichier2
Donc il va me falloir des pistes sur le nommage et le découpage de répertoire en boucle, car les fichiers ne seront que déplacés.
Je vous remercie pour vos réponses.
edit : Le shell est la piste de départ, mais pas forcément obligatoire non plus, ce qui compte c'est le résultat, si c'est plus simple en perl (que je ne gère pas vraiment non plus), je suis preneur.
Partager