Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/05/2012, à 08:22

PSImply

[RESOLU] Renommer tous les fichiers d'un dossier

Bonjour tout le monde !

Je suis nouveau dans le monde d'Ubuntu (et même de Linux en général) et j'ai une question à vous poser. Un ami m'a récemment passé un script python de sa conception qui permet de trier, et de renommer tous les épisodes d'une série.
Le problème c'est que ce script est optimisé pour Windows. J'entends par la qu'il est fait Pour déplacer les fichiers dans des sous-dossiers en ajoutant au départ Season X\
Le truc c'est que sur Ubuntu ça ne fait qu'afficher mochement cela au début du titre. Je me suis mis à les enlever un par un mais c'est fastidieux et je ne veux pas à avoir à faire cela à chaque fois.
J'ai donc essayé de modifier le script python afin de ne plus ajouter cela mais n'y connaissant rien en python, j'ai du faire un bêtise et le script marche plus j'ai donc abandonné cette option. J'ai essayé quelques commandes comme

mv ^Season\ . \\*.mkv *.mkv

mais j’obtiens un message d'erreur.

Il existe apparemment une commande sed mais je ne la comprends pas bien.

Je précise que les titres sont de la forme :  Season k\0kx0"numéro épisode" : titre de l'épisode

Pouvez vous m'aider à supprimez cet élément gênant svp? 
Pour les bouger après un simple

mv 0k*.mkv Season\ k/

avec une boucle sur le k fonctionne non?

Merci beaucoup d'avance !

PS je dmeanderais à mon ami s'il m'autorise à distribuer ici le script en son nom !

Dernière modification par PSImply (Le 03/05/2012, à 11:02)

Hors ligne

#2 Le 03/05/2012, à 08:41

pingouinux

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Bonjour,
La demande ne me paraît pas très claire. Peux-tu donner un exemple : nom_original_du_fichier => nom_que_tu_veux ?

Hors ligne

#3 Le 03/05/2012, à 08:45

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Désolé :

Season "numéro saison"\ "numéro saison"x"numéro épisode" : nom de l'épisode => "numéro saison"x"numéro épisode" : nom de l'épisode

Hors ligne

#4 Le 03/05/2012, à 08:54

serged

Re : [RESOLU] Renommer tous les fichiers d'un dossier

La solution feignant en interface graphique : PyRenamer.

Sinon en ligne de commande : rename.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#5 Le 03/05/2012, à 08:58

pingouinux

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Est-il possible de voir le nom d'un fichier réel (avant et après) sans ajouter de " " ?
Au besoin, faire :

ls -b nom_du_fichier

Hors ligne

#6 Le 03/05/2012, à 08:59

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Merci de ta réponse serged mais comment utiliser la commande rename optimalement stp je la trouve pas dans la doc du site ...

Mais je vais utiliser pyrename en attednant !

Hors ligne

#7 Le 03/05/2012, à 09:06

pingouinux

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Si j'ai bien compris, ceci ferait peut-être l'affaire :

for i in Seas*;do mv -i "$i" "${i#*\\ }"; done

Hors ligne

#8 Le 03/05/2012, à 09:07

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Original : Season1\\01x01\ -\ Dexter.mkv

Voulu : 01x01\ -\ Dexter.mkv


Merci beaucoup pingouinux je vais essayer ça mais tu pourrais m'expliquer un petit peu car je n'aime pas trop utiliser des choses que je ne comprends pas

Dernière modification par PSImply (Le 03/05/2012, à 09:08)

Hors ligne

#9 Le 03/05/2012, à 09:10

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

mv: ne peut déplacer «Season 1» vers un sous-répertoire de lui-même «Season 1/Season 1»
mv: «Season1\\01x01 - Dexter.mkv» et «Season1\\01x01 - Dexter.mkv» identifient le même fichier

J'ai cette erreur pour le fichier et

et cette errreur pour chaque dossier :

mv: ne peut déplacer «Season 4» vers un sous-répertoire de lui-même «Season 4/Season 4»

Hors ligne

#10 Le 03/05/2012, à 09:13

pingouinux

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Dans ce cas, c'est plutôt :

for i in Season*;do [ -f "$i" ] && mv -i "$i" "${i#*\\}"; done

Ajouté : Dans ton exemple, il y avait un espace après le \

Season "numéro saison"\ "numéro saison"x"numéro épisode" : nom de l'épisode

Correction : Ajout d'un test pour ne pas traiter les répertoires

Dernière modification par pingouinux (Le 03/05/2012, à 09:23)

Hors ligne

#11 Le 03/05/2012, à 09:25

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Cela fonctionne parfaitement merci beaucoup à pingouinux et à toute la communauté !

Maintenant ça te dérangerait de m'expliquer la commande ou de me passer un lien ou je pourrais la comprendre stp?

Hors ligne

#12 Le 03/05/2012, à 09:26

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Comment mettre le topic en résolu svp?

Hors ligne

#13 Le 03/05/2012, à 09:56

pingouinux

Re : [RESOLU] Renommer tous les fichiers d'un dossier

Explication sur la commande du #10 :

  • Boucle sur tout ce qui commence par Season (fichiers et dossiers)

  • On n'exécute mv que si on a affaire à un fichier : [ -f "$i" ]

  • ${i#*\\} : nom du fichier auquel on a retiré le début (jusqu'au \)
    Voir man bash, rubrique Expansion des paramètres

Pour mettre en Résolu, éditer le message #1 et ajouter [Résolu] dans le titre.

Hors ligne

#14 Le 03/05/2012, à 11:01

PSImply

Re : [RESOLU] Renommer tous les fichiers d'un dossier

D'accord je vias voir ça merci beaucoup pour ces explications !

Hors ligne