8 votes

Renommer plusieurs fichiers à la fois

J'ai un tas de fichiers wav que j'ai convertis en fichiers mp3 en utilisant ffmpeg.

Maintenant, les fichiers mp3 sont tous nommés file.wav.mp3 .

Comment puis-je supprimer le .wav tout en conservant le reste du nom du fichier ? Je voudrais faire cela sur un répertoire entier en une seule fois.

21voto

steeldriver Points 118154

Avec une boucle Shell, en supprimant le plus court "suffixe à double point".

for f in *.wav.mp3; do echo mv "$f" "${f%.*.*}.mp3"; done

ou (mon préféré pour ce genre de choses) avec mmv du paquet mmv

mmv -n '*.wav.mp3' '#1.mp3'

Retirer le echo ou le -n si nécessaire, une fois que vous êtes sûr qu'ils font ce qu'il faut.

19voto

waltinator Points 32821

Lire man rename et faire quelque chose comme :

rename 's/.wav.mp3/.mp3/' *.wav.mp3

Vous devrez peut-être sudo apt install rename d'abord.

7voto

Mr Felix U Points 181

Dans le navigateur de fichiers d'Ubuntu, vous pouvez sélectionner plusieurs fichiers et les renommer en fonction d'un modèle en cliquant simplement sur F2 ou en cliquant avec le bouton droit de la souris et en sélectionnant Renommer .

Ici, je remplace x con _by_ . Dans votre cas, vous pouvez remplacer .wav avec une chaîne vide.

rename multiple files in Ubuntu

4voto

turbulence Points 686

Comme vous pouvez le constater, il existe plusieurs façons d'y parvenir. Une autre façon d'utiliser la commande basename est présentée ci-dessous :

for file in ./*.wav.mp3
do
    mv "$file" "$(basename "$file" .wav.mp3)".mp3 
done

2voto

Puspam Points 654

Si vous avez tous les fichiers nommés dans .wav.mp3 puis utilisez la commande suivante :

for i in *.wav.mp3; do echo $i; mv "$i" "${i::-8}.mp3"; done

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X