Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

23 réponses
Avatar
Quentin Lamy
Hello,

Souvent je trouve =E7a p=E9nible de renommer de nombreux fichier avec
"mv". Par exemple, quand il faut renommer une vingtaine de pistes
d'albums en les pr=E9fixant de 01 ... 20 ou quand il faut enlever tous
les espaces de nombreux fichiers. Je viens d'=E9crire 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 =EAtre 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

10 réponses

1 2 3
Avatar
Kevin Hinault
--0015175ca9c4699649048f1ae587
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

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


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><br><div class="gmail_quote">Le 31 août 2010 10:59, Quentin Lamy <s pan dir="ltr">&lt;<a href="mailto:">quentinlamy1@ gmail.com</a>&gt;</span> a écrit :<br><blockquote class="gmail_quote" s tyle="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204 ); padding-left: 1ex;">
<br>
Souvent je trouve ça pénible de renommer de nombreux fichier avec<br>
&quot;mv&quot;.<br></blockquote><div><font color="#888888"></font><br>Il existe aussi la commande rename qui prend une expression regulière Perl e n argument.<br><br></div></div>-- <br>Kévin<br><br>

--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=
Avatar
Thierry Chatelet
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/
Avatar
Quentin Lamy
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/
Avatar
Thierry Chatelet
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/
Avatar
MF debian
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/
Avatar
Kevin Hinault
--0015175cd6aab0fe0e048f1dfa77
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

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


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

<br><br><div class="gmail_quote">Le 31 août 2010 14:00, MF debian <span dir="ltr">&lt;<a href="mailto:"> il.com</a>&gt;</span> a écrit :<br><blockquote class="gmail_quote" styl e="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><div class="im"><blockquote class="gmail_quote" style="margin: 0p t 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1 ex;">
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.<br></blockquote> </div></blockquote><div><br>Les expressions régulières sont un langage assez épuré, concis et précis. Pour se tromper faut y mettre du sien ;) <br>
<br>Pour le fait de &quot;prévisualiser&quot; avant de modifier, je te co ncède que c&#39;est un bon argument.<br><br></div><blockquote class="gm ail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(2 04, 204, 204); padding-left: 1ex;">
<div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0p t 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" >
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></blockquote></div></blockquote><div><br>Je suis d&#39;accord qu e les commandes de s/vi/vim/ sont très puissantes. D&#39;ailleurs elles s ont reconnus aussi pour leur ergonomie. Il n&#39;empêche que la ligne de commande est très puissante aussi. Le renommage d&#39;un fichier ne deman de jamais très longtemps grâce à l&#39;autocomplétion et aux raccou rcis de déplacements comme CTRL+droite / CTRL+gauche (etc).<br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0. 8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
find FOO | xargs rename -v &quot;y/A-Z/a-z/&quot;</blockquote><div><br>Enti èrement d&#39;accord : ne jamais négliger les pipes qui permettent des trucs fabuleux. La force du monde GNU/Linux c&#39;est &quot;Keep It Simple Stupid&quot;, c&#39;est à dire qu&#39;un tas d&#39;outils font une seule action mais ils la font très bien. Et comme on peut les interfacer entre eux, on multiplie cette efficacité. <br>
<br>Quand on tente de faire un outil qui fait tout et n&#39;importe, il fin it généralement par tout faire mal. &lt;troll&gt; J&#39;ai envie de dir e que vim n&#39;est pas tombé dans le piège de emacs a ce sujet, ce der nier est presque devenu un système d&#39;exploitation parce qu&#39;il n&# 39;a pas su s&#39;arrêter ;) &lt;/troll&gt;<br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0. 8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div cl ass="im"><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0 pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

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 >
<br></blockquote></div></blockquote><div> </div><div>Pourquoi pas. <br><b r>Il risque de manquer quand même une chose à ton outil (enfin je suppo se) qui moi me sert très souvent : un historique. A moins que l&#39;histo rique interne de vi fonctionne ? <br>
<br>As tu testé d&#39;autres editeurs que vim ? vi par exemple. ou nano. ou ed. Je connais des machines où $EDITOR vaut ed. </div></div><br>-- <br >Kévin<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=
Avatar
Edi Stojicevic
* MF debian [2010-08-31 14:00:04 +0200] 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 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/
Avatar
Kevin Hinault
--001636284402ed56e9048f1e8948
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

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


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><br><div class="gmail_quote">Le 31 août 2010 15:21, Quentin Lamy <s pan dir="ltr">&lt;<a href="mailto:">quentinlamy1@ gmail.com</a>&gt;</span> a écrit :<br><blockquote class="gmail_quote" s tyle="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204 ); padding-left: 1ex;">
<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+
Avatar
Quentin Lamy
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=
Avatar
Quentin Lamy
2010/8/31 Kevin Hinault :


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

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=
1 2 3