Vincent Gay a écrit, mardi 29 janvier 2008, à 07:34 : > Remys Morrissette a écrit : >> j'ai une série de fichiers (+/- 25000) >> >> ../..
>> que j'aimerais renommer de façon séquentiel >> dans le genre 1, 2, 3, ...., 25000 >> ou encore, 01, 02, 03, ..., a1, a2, a3, ...., e... >> avec l'ordre par date si possible. >> >> des idées ? >> >> Remys >> > sudo apt-get install krename Ça me semble un peu lourd quand on n'utilise pas KDE : ,---- | Version: 3.0.9-2.1 | Depends: kdelibs4c2a (>= 4:3.5.4-1), libacl1 (>= 2.2.11-1), libart-2.0-2 | (>= 2.3.16), libattr1 (>= 2.4.4-1), libaudio2, libc6 (>= 2.3.6-6), | libfam0, libfontconfig1 (>= 2.3.0), libfreetype6 (>= 2.2), libgcc1 (>= | 1:4.1.0), libice6, libidn11 (>= 0.5.18), libjpeg62, libpng12-0 (>= | 1.2.8rel), libqt3-mt (>= 3:3.3.6), libsm6, libstdc++6 (>= 4.1.0), | libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxft2 (>> 2.1.1), libxi6, | libxinerama1, libxrandr2, libxrender1, libxt6, zlib1g (>= 1:1.2.1) | Size: 315276 `---- ~ # apt-get -s install krename Lecture des listes de paquets... Fait Construction de l'arbre des dépendances... Fait Les paquets supplémentaires suivants seront installés : hicolor-icon-theme kdelibs-data kdelibs4c2a libarts1c2a libavahi-qt3-1 liblua50 liblualib50 libopenexr2c2a libqt3-mt menu-xdg Paquets suggérés : fam libqt3-mt-psql libqt3-mt-mysql libqt3-mt-odbc Paquets recommandés : libarts1-akode Les NOUVEAUX paquets suivants seront installés : hicolor-icon-theme kdelibs-data kdelibs4c2a krename libarts1c2a libavahi-qt3-1 liblua50 liblualib50 libopenexr2c2a libqt3-mt menu-xdg 0 mis à jour, 11 nouvellement installés, 0 à enlever et 3 non mis à jour. Avec Perl, on dispose de /usr/bin/prename (= rename), qui permet de renommer à l'aide de commandes : Usage: rename [-v] [-n] [-f] perlexpr [filenames] Pour compter, il faudrait pouvoir initialiser une variable ad-hoc en dehors de la boucle où s'exécute « perlexpr » ; j'ai donc modifié une copie de prename, en vérifiant que la variable $n était libre ~ $ diff prename /usr/bin/ 39,40d38 < my $n = 42; < ~ $ grep '\$n\>' prename my $n = 42; et peux donc renommer séquentiellement les toto_* ~ $ ./prename -n 's/_/"_" . $n++ . "_"/e' toto_* toto_a renamed as toto_42_a toto_b renamed as toto_43_b toto_c renamed as toto_44_c toto_d renamed as toto_45_d toto_e renamed as toto_46_e toto_f renamed as toto_47_f Le script reste léger : ~ $ l prename -rwxr-xr-x 1 lhh lhh 3000 2008-01-29 10:42 prename Pour des besoins plus avancés, on pourrait ajouter une option comme [ -i perlbegin ] pour ne pas avoir à modifier le code en fonction de la valeur initiale. -- Jacques L'helgoualc'h -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]