#1 Le 15/09/2008, à 16:37
- harolddumur
Suppression et renommer en batch [Résolu]
Salut tous,
Voilà j'ai des fichiers qui ressemble à ceci : -Fugees Tranzlator Crew - Voc ou cela Ghostface_Killah_-_Nutmeg.
Je voudrais supprimer pour 1 le "-" avant fugees (environ 60 fichiers sont comme ça) et pour le 2 je voudrais supprimer les "_".
Merci voilà ce que je devrais avoir au final...
ceci : Fugees Tranzlator Crew - Voc et cela Ghostface Killah - Nutmeg.
J'ai cherché pour les scripts mais rien de convaincant je m'en remets donc à vous.
Peace!!!
Dernière modification par harolddumur (Le 16/09/2008, à 04:43)
Hors ligne
#2 Le 15/09/2008, à 17:18
- Alain.g
Re : Suppression et renommer en batch [Résolu]
bonsoir
Un exemple avec rename :
rename -- 's/^-//;s/_/ /g' *
pour tester d'abord, sans renommer, on ajoute l'option -n
rename -n -- 's/^-//;s/_/ /g' *
-- : sert à éviter que les noms commençant par "-" soient pris comme une option (valable pour beaucoup de commandes)
s/^-// : on remplace la partie commençant par "-" par rien, on supprime donc. S'il peut y avoir un espace avant le "-", mettre s/^ *-//
s/_/ /g : on remplace tous (g=global) les tirets bas par des espaces
* : s'appliquera à tous les fichiers du répertoire courant (sauf les cachés, commençant par un point)
Xubuntu Karmic !
Hors ligne
#3 Le 15/09/2008, à 17:26
- harolddumur
Re : Suppression et renommer en batch [Résolu]
wOOHOOO mERCI JE TEST
h
Hors ligne
#4 Le 15/09/2008, à 18:01
- harolddumur
Re : Suppression et renommer en batch [Résolu]
Salut Alain.g ce coup de main m'a été très utile mais derniere petite question :
Voilà j'ai un fichier originalement nommé tel que : _quot_Original_Sample_quot_.mp3
Alors j'ai fais un :
rename -- 's/quot/ /g;s/_/ /g' *
Et voilà ce que j'obtiens : Original Bombattak .mp3
ou (espace x 4Original Bombattakespace x 3.mp3)
Je sais que c'est surement impossible mais qui sait, est-ce que c'est possible de supprimer les espaces superflu avant la première lettre et après la dernière lettre?
Merci bien,
H
Hors ligne
#5 Le 15/09/2008, à 18:46
- Alain.g
Re : Suppression et renommer en batch [Résolu]
Pour remplacer plusieurs espaces consécutifs par un seul, puis supprimer les espaces au début du nom, ainsi qu'avant le dernier point (donc avant l'extension) ou à la fin du fichier :
rename -- 's/ +/ /g ; s/^ | (?=\.[^.]+$|$)//g' *
(?=motif) est une assertion avant positive. Ici on vise un espace qui a à sa droite soit un point suivi d'au moins un caractère n'étant pas un point et ce à la fin du nom (\.[^.]+$), soit la fin du nom ($)
Dernière modification par Alain.g (Le 15/09/2008, à 18:50)
Xubuntu Karmic !
Hors ligne
#6 Le 15/09/2008, à 22:40
- harolddumur
Re : Suppression et renommer en batch [Résolu]
You are a genius je suis pas chez nous donc je n'ai pas pu essayé, j'en donne des nouvelles ça sent le résolu. Wow so much knowledge.
NJ
Thanx!
Après vérification tout baigne :-)
rename -- 's/quot/ /g;s/_/ /g;s/ +/ /g;s/^ | (?=\.[^.]+$|$)//g' *
Once again you're a genius my friend!
H
Dernière modification par harolddumur (Le 16/09/2008, à 04:33)
Hors ligne