Aller au contenu

[RESOLU] renommer une série de fichier

Featured Replies

Posté(e)

Hello hello.

Je suis nul en shell scripting et j'ai parfois qq soucis avec Grip quand il nomme mes .ogg. Ici par exemple tous les fichiers du dossier ont le bon nom mais commencent par <<pas de disque>>. Comment faire pour supprimer ça pour chaque fichier en une seule commande shell?

(je me doute que la solution doit être à plein d'endroit sur le net, mais je n'ai pas trouvé si facilement... je m'en remets donc à de vrais pros^^).

merci beaucoup. :transpi:

Modifié par mikemowgli

Posté(e)

for i in $(ls *.ogg)
do
mv $i $(echo $i | sed 's/<<pas\ de\ disque>>//')
done

:transpi:

Modifié par lorinc

Posté(e)
  • Auteur

for i in $(ls *.ogg)
do
mv $i $(echo $i | sed 's/<<pas\ de\ disque>>//')
done

:transpi:

Ca ne marche pas encore tout à fait car le echo envoie, sur le flux de sortie standard, chaque mot de chaque titre sur une ligne séparée.

C'est à dire que le sed n'arrive pas à trouver la séquence "pas de disque" quand echo lui envoie

09
-
pas
de
disquethe
offspring
-
intermission.ogg
10
-
pas
de
disquethe
offspring
-
all
i
want.ogg

une idée?

merci

Posté(e)

ah, ben rajoute IFS="" alors :incline:

allez, testé chez moi :

#!/bin/bash

IFS=""

for i in $(ls *.ogg)
do
mv $i $(echo $i | sed 's/pas de disque //')
done

Modifié par lorinc

Posté(e)

Utilise "rename" :

rename 's/<<pas\ de\ disque>>//' *.ogg

Et hop :)

(accessoirement c'est super pratique pour renommer ses MP3)

Posté(e)

Utilise "rename" :

rename 's/<<pas\ de\ disque>>//' *.ogg

Et hop :)

(accessoirement c'est super pratique pour renommer ses MP3)

je connaissais pas cette syntaxe pour rename ... t'es sur de ton coup ? regarde au dessus

Posté(e)

Oui oui je l'utilise souvent

rename "regex" fichiers

Tu peux même utiliser les groupements.

merci pour le renseignement, mais j'ai été plus rapide :incline:

PS : j'ai essayé, a marche po ...

Posté(e)
  • Auteur

re... c'est encore moi ^^

bon alors lorinc, en fait, ton script avec IFS="" ça marchait............................. pour un seul fichier :/ mais pour pusieurs ça merdoyait...

et comme je ne voulais pas paraître plus boulet que nature, j'ai cherché par moi-même et ai appris l'existence de rename. Après quelques essais ça a amrché nickel avec

rename pas\ de\ disque '' *.ogg

mais pas avec

rename 's/pas\ de\ disque//' *.ogg

Allez comprendre pourquoi... :) (d'ailleurs si quelqu'un sait, ça me téraisse beaucoup :) aurais-je une version pourrite de rename?)

merci à tous :yes::mad2: et à plus tard pour de nouvelles aventures :incline:

Au passage, on peut directement renomer le bon champs dans grip...

Ça évite de rattraper le truc à postériori.

ui j'ai bien config grip mais il merdouillait, pamafôte :transpi:

Posté(e)
pour le IFS, oui, c'est normal, il faudrait mettre l'équivalent de \n en échappement

IFS=$(echo -e "\n")

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.