#1 Le 10/07/2010, à 07:53
- Bardok
[Résolu] Script pour création répertoire en fonction nom de fichier
Bonjour,
je cherche à écrire un script shell qui en fonction du nom du fichier créerait le répertoire puis déplacerait le fichier dedans et enfin le renommerait et cela de façon dynamique.
J'ai une liste de fichiers qui se nomme :
Map\0\0\CityWayS0-100
Map\0\0\Tiles300
...
Map\0\1\StreetI0-10
...
Map\3\7\Tiles673
...
Map\9\9\Tiles3499
J'aimerais obtenir des dossiers en lieu et place :
1 dossier Map qui contiendrait 9 dossiers qui seraient nommés de 0 à 9 et qui contiendrait eux mêmes des dossiers nommés de 0 à 9 et que le fichier soit renommé pour enlever les premiers caractères puis migrer dans le bon répertoire (les 2 derniers caractères du nom de fichier indiquant l'emplacement du répertoire).
J'ai aussi des fichiers qui ne vont pas obligatoirement dans le dernier dossier avec 1 numéro mais dans le premier :
Map\9\City9
...
Map\2\Tiles2
Je n'arrive pas à l'écrire donc si quelqu'un à envie de s'amuser un peu je suis preneur.
Pour info, ce fichier est une carte de france pour le logiciel we travel (gps / http://we-travel.co.cc/joomla/) pour mettre sur mon samsung jet.
Merci d'avance.
Cordialement,
Bardok.
Dernière modification par Bardok (Le 11/07/2010, à 20:49)
Hors ligne
#2 Le 10/07/2010, à 14:59
- ehmicky
Re : [Résolu] Script pour création répertoire en fonction nom de fichier
Bonjour,
Cela est sûrement faisable en une seule ligne de commande.
Par contre, j'ai du mal à comprendre le cas précisément. Donc si je résume :
Départ :
Un répertoire parent "Map" qui contient :
- 10 répertoires nommés "0" à "9", chacun contenant :
- 10 répertoires nommés "0" à "9", chacun contenant :
- des fichiers dont le nom est : une chaine de caractères suivie d'un nombre composé de deux chiffres ou plus
Arrivée :
Un répertoire parent "Map" qui contient :
- 10 répertoires nommés "0" à "9", chacun contenant :
- des fichiers dont le nom est : une chaine de caractères suivie d'un seul chiffre
Maintenant, là où j'ai plus de mal, c'est comment on passe de l'un à l'autre. D'après ce que j'ai compris :
- la chaine de caractère reste la même.
- seul le dernier chiffre du nom de fichier reste, et sert en plus à indiquer dans quel répertoire (de "0" à "9") le placer. (Là ou je comprends pas, c'est que tu parles des deux derniers chiffres...)
En plus, qu'en est-il si un fichier (par exemple Bidule234) en écrase un autre (par exemple Bidule 134) ?
Il faut aussi savoir si le nom de tes fichiers ne contiennent que des chiffres, lettres, _ et tiret, ou s'ils peuvent potentiellement contenir des cractères illégaux (notamment espace)
Dernière modification par ehmicky (Le 10/07/2010, à 15:00)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#3 Le 11/07/2010, à 20:43
- Bardok
Re : [Résolu] Script pour création répertoire en fonction nom de fichier
Bonjour,
désolé pour le retard de réponse, j'étais parti en we.
Donc non le point de départ n'est pas un dossier avec des sous dossiers mais bel et bien des fichiers :
ap\0\0\CityWayS0-100
Map\0\0\Tiles300
...
Map\0\1\StreetI0-10
...
Map\3\7\Tiles673
...
Map\9\9\Tiles3499
attention ce sont des noms de fichiers et nom des chemins c'est un anti slash entre les chiffres/mots.
Ce que je souhaite avoir c'est le fichier "Map\3\7\Tiles6739" qui doit se trouver dans le répertoire map, dans le sous répertoire 3, dans le sous répertoire 7 et fichier renommé en Tiles3499.
Ce que je souhaite avoir c'est le fichier "Map\9\9\Tiles3499" qui doit se trouver dans le répertoire map, dans le sous répertoire 9, dans le sous répertoire 9 et fichier renommé en Tiles3499.
Il n'y a aucun fichier avec le même nom donc impossible d'écraser.
C'est un peu compliqué, désolé.
Hors ligne
#4 Le 11/07/2010, à 20:49
- Bardok
Re : [Résolu] Script pour création répertoire en fonction nom de fichier
Bon en fait j'en ai plus besoin, le problème vient du gestionnaire d'archive qui interprete mal les dossiers du fichier zipper.
J'ai utilise la ligne de commande et j'ai bien les dossiers correctement.
Désolé. Mais merci quand même.
Hors ligne