[HS] Tip: Renommer des fichiers dans son éditeur

Le
Quentin Lamy
Hello,

Souvent je trouve ça pénible de renommer de nombreux fichier avec
"mv". Par exemple, quand il faut renommer une vingtaine de pistes
d'albums en les préfixant de 01 20 ou quand il faut enlever tous
les espaces de nombreux fichiers. Je viens d'écrire un petit script
python qui permet de renommer des fichiers dans son $EDITOR:
http://www.qnet.fr/comp/rened/

S'il y en a qui veulent y jeter un oeil, les commentaires sont les bienvenu=
s!

Remarque: il faudra peut être ajuster le shabang (#!/usr/bin/python3.1)

++
Quentin

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/AANLkTikmYe01aBHBvbt2VeR7WprmV7As7Nv-iBJUjuuH@mail.gmail.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Kevin Hinault
Le #22524021
--0015175ca9c4699649048f1ae587
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Le 31 août 2010 10:59, Quentin Lamy

Souvent je trouve ça pénible de renommer de nombreux fichier avec
"mv".




Il existe aussi la commande rename qui prend une expression regulière Per l
en argument.

--
Kévin

--0015175ca9c4699649048f1ae587
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br>
Souvent je trouve ça pénible de renommer de nombreux fichier avec<br>
&quot;mv&quot;.
--0015175ca9c4699649048f1ae587--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTi=0P7_Y4c-=VRU+4=
Thierry Chatelet
Le #22524031
On Tuesday 31 August 2010 10:59:57 Quentin Lamy wrote:
Hello,



Hello
Voir ici:
http://www.debian-administration.org/articles/150
en anglais
Thierry

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Quentin Lamy
Le #22524541
2010/8/31 Thierry Chatelet
On Tuesday 31 August 2010 10:59:57 Quentin Lamy wrote:
Voir ici:
http://www.debian-administration.org/articles/150
en anglais



Ouais, par expérience, un éditeur est quand même plus efficace.
D'abord, pour les changements compliqués, on a envie de voir le
résultat. Faut être très sûr de ses expressions régulières pour
utiliser "rename" sur un bon nombre de fichiers.

En outre, l'éditeur est beaucoup plus puissant pour certains
renommage. Par exemple, pour renommer mon_long_fichier_1 en
mon_long_fichier_2 et vice-versa, c'est "ddp:wq" avec vim, et basta.

Ensuite, les commandes classiques ne sont pas récursives. Mettons que
j'ai un répertoire "FOO" avec dedans "ONE.TXT" et "TWO.TXT". Comment
faire pour tout mettre en minuscules? avec find? ben non:

$ find FOO | rename -v "y/A-Z/a-z/"
reading filenames from STDIN
FOO renamed as foo
Can't rename FOO/TWO.TXT foo/two.txt: Aucun fichier ou dossier de ce type
Can't rename FOO/ONE.TXT foo/one.txt: Aucun fichier ou dossier de ce type

Enfin, il y a quelques options du script (-c, -n) qui simplifient le
travail. Par exemple, la numérotation d'un bon nombre de fichiers.

Bref, je trouve le script pratique, mais évidemment, chacun ses habitudes :-)

++
Quentin

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Thierry Chatelet
Le #22524631
On Tuesday 31 August 2010 13:33:04 Quentin Lamy wrote:
2010/8/31 Thierry Chatelet > On Tuesday 31 August 2010 10:59:57 Quentin Lamy wrote:
Ouais, par expérience, un éditeur est quand même plus efficace.
D'abord, pour les changements compliqués, on a envie de voir le
résultat. Faut être très sûr de ses expressions régulières po ur
utiliser "rename" sur un bon nombre de fichiers.

En outre, l'éditeur est beaucoup plus puissant pour certains
renommage. Par exemple, pour renommer mon_long_fichier_1 en
mon_long_fichier_2 et vice-versa, c'est "ddp:wq" avec vim, et basta.

Ensuite, les commandes classiques ne sont pas récursives.
Quentin



On m'avait donné, sur la liste en français ou en anglais, je ne sais pl us, un
petit script qui faisait tout ça,récurcivité et le reste. mais j'ai c hangé
d'ordi, et j' ai pas le script sous la main. Et google m'a oublié,aparame nt!!
Là,je dois partir, mais si je le retrouve je vous le met sur la liste.
Thierry

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
MF debian
Le #22524711
Le 31/08/2010 13:33, Quentin Lamy a écrit :
2010/8/31 Thierry Chatelet
On Tuesday 31 August 2010 10:59:57 Quentin Lamy wrote:
Voir ici:
http://www.debian-administration.org/articles/150
en anglais


Ouais, par expérience, un éditeur est quand même plus efficace.
D'abord, pour les changements compliqués, on a envie de voir le
résultat. Faut être très sûr de ses expressions régulières pour
utiliser "rename" sur un bon nombre de fichiers.

En outre, l'éditeur est beaucoup plus puissant pour certains
renommage. Par exemple, pour renommer mon_long_fichier_1 en
mon_long_fichier_2 et vice-versa, c'est "ddp:wq" avec vim, et basta.

Ensuite, les commandes classiques ne sont pas récursives. Mettons que
j'ai un répertoire "FOO" avec dedans "ONE.TXT" et "TWO.TXT". Comment
faire pour tout mettre en minuscules? avec find? ben non:

$ find FOO | rename -v "y/A-Z/a-z/"


et avec

find FOO | xargs rename -v "y/A-Z/a-z/"

???
reading filenames from STDIN
FOO renamed as foo
Can't rename FOO/TWO.TXT foo/two.txt: Aucun fichier ou dossier de ce type
Can't rename FOO/ONE.TXT foo/one.txt: Aucun fichier ou dossier de ce type

Enfin, il y a quelques options du script (-c, -n) qui simplifient le
travail. Par exemple, la numérotation d'un bon nombre de fichiers.

Bref, je trouve le script pratique, mais évidemment, chacun ses habitudes :-)

++
Quentin




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Kevin Hinault
Le #22524971
--0015175cd6aab0fe0e048f1dfa77
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Le 31 août 2010 14:00, MF debian

D'abord, pour les changements compliqués, on a envie de voir le
résultat. Faut être très sûr de ses expressions régulières p our
utiliser "rename" sur un bon nombre de fichiers.






Les expressions régulières sont un langage assez épuré, concis et p récis.
Pour se tromper faut y mettre du sien ;)

Pour le fait de "prévisualiser" avant de modifier, je te concède que c' est
un bon argument.

En outre, l'éditeur est beaucoup plus puissant pour certains
renommage. Par exemple, pour renommer mon_long_fichier_1 en
mon_long_fichier_2 et vice-versa, c'est "ddp:wq" avec vim, et basta.






Je suis d'accord que les commandes de s/vi/vim/ sont très puissantes.
D'ailleurs elles sont reconnus aussi pour leur ergonomie. Il n'empêche qu e
la ligne de commande est très puissante aussi. Le renommage d'un fichier ne
demande jamais très longtemps grâce à l'autocomplétion et aux racco urcis de
déplacements comme CTRL+droite / CTRL+gauche (etc).


find FOO | xargs rename -v "y/A-Z/a-z/"




Entièrement d'accord : ne jamais négliger les pipes qui permettent des trucs
fabuleux. La force du monde GNU/Linux c'est "Keep It Simple Stupid", c'est à
dire qu'un tas d'outils font une seule action mais ils la font très bien. Et
comme on peut les interfacer entre eux, on multiplie cette efficacité.

Quand on tente de faire un outil qui fait tout et n'importe, il finit
généralement par tout faire mal. <troll> J'ai envie de dire que vim n'e st
pas tombé dans le piège de emacs a ce sujet, ce dernier est presque dev enu
un système d'exploitation parce qu'il n'a pas su s'arrêter ;) </troll>


Enfin, il y a quelques options du script (-c, -n) qui simplifient le
travail. Par exemple, la numérotation d'un bon nombre de fichiers.






Pourquoi pas.

Il risque de manquer quand même une chose à ton outil (enfin je suppose ) qui
moi me sert très souvent : un historique. A moins que l'historique intern e
de vi fonctionne ?

As tu testé d'autres editeurs que vim ? vi par exemple. ou nano. ou ed. J e
connais des machines où $EDITOR vaut ed.

--
Kévin

--0015175cd6aab0fe0e048f1dfa77
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

D&#39;abord, pour les changements compliqués, on a envie de voir le<br>
résultat. Faut être très sûr de ses expressions régulières pour <br>
utiliser &quot;rename&quot; sur un bon nombre de fichiers. En outre, l&#39;éditeur est beaucoup plus puissant pour certains<br>
renommage. Par exemple, pour renommer mon_long_fichier_1 en<br>
mon_long_fichier_2 et vice-versa, c&#39;est &quot;ddp:wq&quot; avec vim, et basta. <br>
find FOO | xargs rename -v &quot;y/A-Z/a-z/&quot;
Enfin, il y a quelques options du script (-c, -n) qui simplifient le<br>
travail. Par exemple, la numérotation d&#39;un bon nombre de fichiers.<br >

--0015175cd6aab0fe0e048f1dfa77--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTinai5m-u5216-M6wwdC29b4G3TMHx=
Edi Stojicevic
Le #22524961
* MF debian
[...]

>Ouais, par expérience, un éditeur est quand même plus efficace.
>D'abord, pour les changements compliqués, on a envie de voir le
>résultat. Faut être très sûr de ses expressions régulières pour
>utiliser "rename" sur un bon nombre de fichiers.
>
>En outre, l'éditeur est beaucoup plus puissant pour certains
>renommage. Par exemple, pour renommer mon_long_fichier_1 en
>mon_long_fichier_2 et vice-versa, c'est "ddp:wq" avec vim, et basta.
>
>Ensuite, les commandes classiques ne sont pas récursives. Mettons que
>j'ai un répertoire "FOO" avec dedans "ONE.TXT" et "TWO.TXT". Comment
>faire pour tout mettre en minuscules? avec find? ben non:
>
>$ find FOO | rename -v "y/A-Z/a-z/"
et avec

find FOO | xargs rename -v "y/A-Z/a-z/"

???



Il existe également zmv sous zsh qui permet de faire pas mal de choses
également :)

man zshall :)

--
.''`. Edi Stojicevic
: :' : Debian GNU/Linux user, admin & developer - http://www.debian.org
`. `~' Debianworld.org founder - http://www.debianworld.org
`-
IOT trap -- core dumped

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Kevin Hinault
Le #22525121
--001636284402ed56e9048f1e8948
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Le 31 août 2010 15:21, Quentin Lamy

Ce n'est pas xargs ou pas le problème. C'est que si on renomme "FOO"
en "foo", les autres noms de fichiers qui sont "pipés" dans la
commande rename sont faux: "FOO/ONE.txt" devrait être "foo/ONE.txt" p.
ex. (Là l'exemple est simple, mais avec une grande arborescence ça se
complique.) Il faut commencer par le bas de l'arborescence. Et, pour
prévenir une nouvelle fausse solution, j'ajoute qu'on ne peut pas
évidemment pas utiliser: "find FOO | tac | rename 'y/A-Z/a-z/'".
N'est-ce pas?




Par contre ca doit marcher ça :
find FOO/ -type f -exec rename 'y/A-Z/a-z/' {} ;

--
Kévin

--001636284402ed56e9048f1e8948
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br>
Ce n&#39;est pas xargs ou pas le problème. C&#39;est que si on renomme &q uot;FOO&quot;<br>
en &quot;foo&quot;, les autres noms de fichiers qui sont &quot;pipés&quot ; dans la<br>
commande rename sont faux: &quot;FOO/ONE.txt&quot; devrait être &quot;foo /ONE.txt&quot; p.<br>
ex. (Là l&#39;exemple est simple, mais avec une grande arborescence ça se<br>
complique.) Il faut commencer par le bas de l&#39;arborescence. Et, pour<br >
prévenir une nouvelle fausse solution, j&#39;ajoute qu&#39;on ne peut pas <br>
évidemment pas utiliser: &quot;find FOO | tac | rename &#39;y/A-Z/a-z/&#3 9;&quot;.<br>
N&#39;est-ce pas?<br><br></blockquote><div> </div><div>Par contre ca doit marcher ça :<br>find FOO/ -type f -exec rename  &#39;y/A-Z/a-z/&#39; { } ;<br></div></div><br>-- <br>Kévin<br>

--001636284402ed56e9048f1e8948--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTikU+DMDvzcrJ9+
Quentin Lamy
Le #22525131
2010/8/31 MF debian
 Le 31/08/2010 13:33, Quentin Lamy a écrit :
$ find FOO | rename -v "y/A-Z/a-z/"



et avec

find FOO | xargs rename -v "y/A-Z/a-z/"

???



Ce n'est pas xargs ou pas le problème. C'est que si on renomme "FOO"
en "foo", les autres noms de fichiers qui sont "pipés" dans la
commande rename sont faux: "FOO/ONE.txt" devrait être "foo/ONE.txt" p.
ex. (Là l'exemple est simple, mais avec une grande arborescence ça se
complique.) Il faut commencer par le bas de l'arborescence. Et, pour
prévenir une nouvelle fausse solution, j'ajoute qu'on ne peut pas
évidemment pas utiliser: "find FOO | tac | rename 'y/A-Z/a-z/'".
N'est-ce pas?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTikLLceqOaFw3LSO=
Quentin Lamy
Le #22525231
2010/8/31 Kevin Hinault


Le 31 août 2010 15:21, Quentin Lamy

Ce n'est pas xargs ou pas le problème. C'est que si on renomme "FOO"
en "foo", les autres noms de fichiers qui sont "pipés" dans la
commande rename sont faux: "FOO/ONE.txt" devrait être "foo/ONE.txt" p.
ex. (Là l'exemple est simple, mais avec une grande arborescence ça s e
complique.) Il faut commencer par le bas de l'arborescence. Et, pour
prévenir une nouvelle fausse solution, j'ajoute qu'on ne peut pas
évidemment pas utiliser: "find FOO | tac | rename 'y/A-Z/a-z/'".
N'est-ce pas?




Par contre ca doit marcher ça :
find FOO/ -type f -exec rename  'y/A-Z/a-z/' {} ;



Non, ça essaie de renommer FOO/ONE.txt en foo/one.txt => erreur

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTinOu1kFEu04X=
Publicité
Poster une réponse
Anonyme