Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 22/11/2012, à 17:59

Gloops

[RESOLU] Renommer fichiers

Bonjour tout le monde,

Si dans un répertoire j'ai cent fichiers qui s'appellent "Capture du 2012-11-22 15:02:03.png" à l'heure près, donc avec des changements dans les six derniers chiffres, et que je veux remplacer les doubles points par des points-virgules (histoire que Windows ne me fasse pas une syncope si je lui envoie ces fichiers), est-ce que je dois pour cela me lancer dans le développement d'un script, ou y a-t-il pour cela une commande à la portée de Madame Michu ?

Question subsidiaire, lorsque je fais une copie d'écran elle crée un fichier nommé selon le masque indiqué ci-dessus. Comment m'y prendre pour vous dire quel est le programme qui fait ça ? Parce que j'ai un peu de mal à imaginer que ça ne soit pas prévu quelque part de pouvoir modifier le masque pour nommer les fichiers.

Si on réussit à répondre à la deuxième question (et à celle qui arrive derrière), la première pourra toujours servir par transposition à une autre situation.

Dernière modification par Gloops (Le 23/11/2012, à 17:38)


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#2 Le 22/11/2012, à 18:06

pingouinux

Re : [RESOLU] Renommer fichiers

Bonjour,
Réponse à la 1ère question :

for i in Capture\ du\ *.png; do echo mv "$i" "${i//:/;}"; done

et retirer le echo si c'est bon.

Hors ligne

#3 Le 22/11/2012, à 18:10

fouduroi

Re : [RESOLU] Renommer fichiers

pour la méthode graphique ---->pyrenamer


ubuntu 13.04 64 bits  / ubuntu 14.04 64 bits /
asus p6t, core i7 920, 7go ram, nvidia gt220

http://www.pullco.fr/  association pour la Promotion de l’Utilisation des Logiciels Libres en COrrèze

En ligne

#4 Le 22/11/2012, à 18:19

Gloops

Re : [RESOLU] Renommer fichiers

pingouinux a écrit :

Bonjour,
Réponse à la 1ère question :

for i in Capture\ du\ *.png; do echo mv "$i" "${i//:/;}"; done

et retirer le echo si c'est bon.

Heureusement que j'étais assis smile

J'aurais passé deux jours à choisir le langage, puis j'aurais été étonné que la commande mv s'en sorte sans problème avec plein d'espaces dans les noms de départ et d'arrivée (puisque le echo ne fait pas apparaître de guillemets).

Merci.


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#5 Le 22/11/2012, à 18:21

Gloops

Re : [RESOLU] Renommer fichiers

fouduroi a écrit :

pour la méthode graphique ---->pyrenamer

Ah oui, génial pour Madame Michu, ça smile

Je vais essayer de trouver le temps de lui montrer.


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#6 Le 22/11/2012, à 18:23

Gloops

Re : [RESOLU] Renommer fichiers

Si j'en crois quelque chose que j'ai vu dans les "post-it", j'aurais dû choisir un autre forum.
Lequel, à votre avis ?


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#7 Le 22/11/2012, à 22:39

nesthib

Re : [RESOLU] Renommer fichiers

celui dans lequel je viens de déplacer le fil

sinon, plus simple que ce que propose pingouinux, tu pouvais faire :

rename -n 's/:/;/g'  Capture\ du\ *.png

(sans le « -n » pour vraiment effectuer la substitution)

le logiciel qui fait la capture est gnome-screenshot et il n'est pas facile de changer le nom par défaut : https://bugs.launchpad.net/ubuntu/+sour … ug/1054808


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#8 Le 23/11/2012, à 00:05

Gloops

Re : [RESOLU] Renommer fichiers

Ah OK, comme je cherchais au départ à éviter le script, j'avais une hésitation ...
Bon, maintenant, j'ai une autre question, à la suite.
J'ai mis la ligne indiquée par Pingouinux dans un script de façon à pouvoir l'appeler facilement sans avoir rien à taper.
Si j'ouvre une fenêtre Terminal, que je sélectionne le répertoire où est le script, par la commande cd, et que pour finir j'appelle le script en faisant précéder son nom d'un point, la syntaxe de pingouinux fonctionne très bien.
En attendant que quelqu'un me suggère mieux, j'ai appelé ... peut-être pas l'explorateur, mais l'équivalent de ce qu'on appelle comme ça sous Windows, la fenêtre des fichiers, pour afficher le répertoire des scripts. Je double-clique sur le script, puis je clique sur "Lancer dans un terminal", et là la transformation ne se fait pas, le script plante, même, sur la boucle.
Sur le plan fonctionnel, il y a un point supplémentaire qui me fait préférer mv à rename : je profite de l'opération pour déplacer les fichiers vers un autre répertoire, de façon que la visualisation du répertoire vide indique sans ambiguïté que l'opération a été effectuée.

Le mode d'appel différent a rendu nécessaire de préciser le répertoire, donc j'ai commencé le script par

cd $oldpwd
cd Images
ls -l
sleep 1
echo boucle

et la suite comme a indiqué Pingouinux, plus le chemin devant le nouveau nom de fichier.
Et en arrivant sur cette ligne le script plante, alors qu'en ouvrant le terminal avant le script, ça fonctionne très bien.
La syntaxe pour le remplacement est-elle différente dans ce contexte ?
Autre question, qu'est-ce que je pourrais bien trouver comme interface utilisateur pour qu'il n'y ait plus qu'un clic à faire ?


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#9 Le 23/11/2012, à 00:18

Gloops

Re : [RESOLU] Renommer fichiers

nesthib a écrit :

le logiciel qui fait la capture est gnome-screenshot et il n'est pas facile de changer le nom par défaut : https://bugs.launchpad.net/ubuntu/+sour … ug/1054808

Ah oui, je vois que je ne suis pas le premier smile


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#10 Le 23/11/2012, à 00:55

Gloops

Re : [RESOLU] Renommer fichiers

Dans la mesure où tous les fichiers du répertoire image ont des noms conformes au shéma, voici un script qui donne le résultat souhaité :

cd $oldpwd
cd Images
rename 's/:/;/g' *
for i in *.*; do mv "$i" "../CopiesEcran/$i";done

Peut-être bien qu'en résolvant les erreurs de syntaxe il y a moyen de faire le renommage et le déplacement en une seule opération, ça peut être plus élégant smile


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#11 Le 23/11/2012, à 02:08

Postmortem

Re : [RESOLU] Renommer fichiers

Salut,
Si tu veux renommer et déplacer, tu n'as qu'à tout faire avec mv (ou alors j'ai pas compris ! ) :

#!/bin/bash
cd ~/Images
for i in Capture\ du*.png
do
   echo mv "$i" "../CopiesEcran/${i//:/;}"
done

J'ai pas testé mais si ce qui est affiché est correct, tu n'as qu'à supprimer le echo.

Edit :
Pourquoi le cd $oldpwd au début ??

Dernière modification par Postmortem (Le 23/11/2012, à 02:12)


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#12 Le 23/11/2012, à 02:53

Gloops

Re : [RESOLU] Renommer fichiers

Effectivement, ça baigne, merci.
J'avais essayé avec deux fois deux barres, avec deux fois une barre, mais je n'avais pas pensé à essayer avec deux barres puis une barre. ça correspond à quelque chose, conceptuellement, ou ça marche et puis c'est tout ?
Je m'étais cassé le nez avec le ~, je ne saurais plus dire comment au juste, c'est pour ça que j'ai épluché l'environnement pour voir où je pourrais trouver quelque chose qui se trouverait avoir la même valeur ...

Bon, alors on peut dire que le script, ça y est.
Une idée pour l'interface utilisateur ?
Je pourrais mettre une icône dans le lanceur, à gauche, mais il va finir par être un peu chargé. D'ailleurs, ça n'a pas l'air de spontanément vouloir y rester par glissé de souris.

Et le but n'est quand même pas que l'utilisateur mette plus de temps à trouver le script qu'à renommer les fichiers lui-même.

Ah au fait, encore une question : quelle serait l'extension de fichier appropriée pour ce script ?


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#13 Le 23/11/2012, à 03:07

Gloops

Re : [RESOLU] Renommer fichiers

Pour la petite histoire, avant de me rendre compte que les doubles points n'étaient pas acceptés par Windows, j'avais transféré des copies d'écran vers un répertoire d'un disque externe, que j'ai ensuite ouvert dans Windows, et bien sûr j'ai échoué à ouvrir les fichiers.
Eh bien là, il a fallu que je crée un autre répertoire, car le précédent ne pouvait pas recevoir de fichiers, depuis Ubuntu. Une fois le répertoire défaillant effacé, rien n'empêche de donner son nom au nouveau.

Ah oui mais attention : dans le nouveau répertoire, seuls les deux derniers fichiers peuvent être ouverts dans Windows.
En fait, ceux renommés par la dernière version du script.

Dernière modification par Gloops (Le 23/11/2012, à 03:11)


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

#14 Le 23/11/2012, à 10:10

Postmortem

Re : [RESOLU] Renommer fichiers

Salut,
Pour le ~, ça équivaut à $HOME qui vaut /home/nom_utilisateur.
Dans ton script, tu peux donc remplacer ~/Images par $HOME/Images.
Sinon, ${variable//pattern/remplacement}, ben c'est la syntaxe qui est comme ça. Si tu ne mets qu'un /, ça ne remplace que la 1ère occurrence du pattern ( : dans ton script), si tu en mets 2, ça remplace toutes les occurences.
Tu trouveras toutes les syntaxes dans ce style dans la partie qui traite du développement des variables dans man bash.


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#15 Le 23/11/2012, à 14:29

VinyMusic

Re : [RESOLU] Renommer fichiers

"gprename" que j'apprécie pour les multiples options.
http://doc.ubuntu-fr.org/gprename


- Linux Mint 13 "Maya", Intel E5200, 2048 Go, ATI radeon X300, Soundblaster xtrem audio
- Ubuntu 12.04.04 "Precise", PC by surcourf (CLEVO) 13,3'', SU2300, 2048 Go, GMA 4500HD

Hors ligne

#16 Le 23/11/2012, à 17:36

Gloops

Re : [RESOLU] Renommer fichiers

Ah oui alors quand je vais avoir un moment, il va falloir que je découvre gprename, et pyrenamer, dont j'imagine d'avance les capacités d'adaptation.
Pour le moment, j'ai un script tout prêt pour une opération déterminée, et ce sera précieux que l'utilisateur n'ait pas à ressaisir les critères à chaque fois, et peut-être se tromper dessus.
Merci à tout le monde pour toutes ces réponses précieuses.

A présent, je travaille sur l'interface, pour éviter d'avoir à naviguer dans l'arborescence pour trouver le script. Je suis parti à la découverte de Cairo-Dock, qui a vocation à aller beaucoup plus loin que juste une interface pour un script. En revanche, la doc, de par sa minceur, n'est pas destinée à Madame Michu, c'est le moins qu'on puisse dire ...
J'ai fini par réussir à ouvrir le répertoire des scripts, en plus de celui des images et celui des copies d'écran. En cliquant sur le script je peux l'exécuter, ça ça marche, en revanche si je cherche à le faire exécuter par Cairo-Dock, il y a un problème d'autorisation : "Permission non accordée au processus fils, ".""
J'imagine qu'il faudra que j'ouvre un nouveau fil pour cette question, car ça paraît bien être un nouveau sujet.


J'interviens de temps à autre sur Ubuntu 12.04 LTS, équipé de Gnome  et de Cairo-Dock 3.0.0

Hors ligne

Haut de page ↑