[Perl] récupérer le nouveau nom après rename

Philippe Delavalade philippe.delavalade at orange.fr
Mar 31 Mar 12:39:18 CEST 2020


Bonjour Sylvain et merci de ta réponse rapide.

J'utilise le rename de perl dans un script bash.

C'est en fait pour aider quelqu'un, lequel veut du bash.

Voici mon code

#!/bin/bash

oldifs=$IFS
IFS=$(echo -ne "\n\b")
for f in $(find . -type f -iname '*.wav')
do
  perl-rename 's/ /_/g; s/wav$/wav/i' "$f"
done
for f in $(find . -type f -name '*.wav')
do
    ffmpeg -y -i "$f" -vn ${f%.wav}.mp3
done
IFS=$oldifs

Si je mets le ffmpeg dans la première boucle, ça ne marche pas puisque le
fichier ne s'appelle peut-être plus $f vu rename.

J'utilise perl-rename qui est le nom dans ma distrib, rename étant un
utilitaire linux simpliste (je ne sais plus de quel paquet il vient).

Enfin la modification de IFS à cause des espaces éventuels dans le nom des
fichiers.

Merci.

-- 
Philippe

Le mardi 31 mars à 12:09, Sylvain Lhullier a écrit :
> Bonjour Philippe,
> Je ne suis pas certain de te suivre : tu es en Bash ou en Perl ?
> Peux-tu nous transmettre un extrait pertinent de ton code pour illustrer ?
> Si, tu utilise la commande shell rename écrite en Perl, tu peux tout faire
> en Perl (il y a même un module pour cela). Ou bien récupérer l'output
> de la commande en shell (bof, bof).
> Merci à toi,
> 
> Philippe Delavalade a écrit :
> > Bonjour.
> > 
> > Dans un script bash (linux), je renomme des fichiers dans une boucle for
> > puis je voudrais agir sur les fichiers renommés (dans la même boucle) mais
> > je ne sais pas comment récupérer le nouveau nom. Bien sûr, je peux faire
> > une deuxième boucle mais ça ne me semble pas élégant.
> > 
> > Rien là-dessus dans perldoc ni dans mes recherches sur le net.
> > 
> > Désolé si la question est triviale (ce que je crains d'ailleurs).
> > 
> > Merci par avance.
> > 
> > -- 
> > Philippe
> > _______________________________________________
> > Perl mailing list
> > Perl at mongueurs.net
> > http://listes.mongueurs.net/mailman/listinfo/perl
> > Attention, les archives sont publiques
> 
> -- 
> Sylvain Lhullier
> Formation Perl  https://formation-perl.fr/
> Président des Mongueurs de Perl  http://mongueurs.net/
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
> Attention, les archives sont publiques


Plus d'informations sur la liste de diffusion Perl