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 22/11/2012, à 16: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, à 16:38)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#2 Le 22/11/2012, à 17: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, à 17:10

fouduroi

Re : [RESOLU] Renommer fichiers

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


ubuntu 14.04 64 bits  / ubuntu 16.04 64 bits
asus p6t, core i7 920, 7go ram, nvidia gt630
http://www.pullco.fr/  association pour la Promotion de l’Utilisation des Logiciels Libres en COrrèze
pourquoi Linux est le meilleur?

Hors ligne

#4 Le 22/11/2012, à 17: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.


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#5 Le 22/11/2012, à 17: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.


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#6 Le 22/11/2012, à 17: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 ?


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#7 Le 22/11/2012, à 21: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ᴉsdn

Hors ligne

#8 Le 22/11/2012, à 23: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 ?


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#9 Le 22/11/2012, à 23: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


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#10 Le 22/11/2012, à 23: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


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#11 Le 23/11/2012, à 01: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, à 01:12)


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

Hors ligne

#12 Le 23/11/2012, à 01: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 ?


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#13 Le 23/11/2012, à 02: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, à 02:11)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#14 Le 23/11/2012, à 09: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.


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

Hors ligne

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

VinyMusic

Re : [RESOLU] Renommer fichiers

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


- Linux Mint 18, HP 15-ay008nf, 4Gb, intel i3, SSD Samsung Evo 950 256Gb
- Linux Mint 17.03, PC by surcourf (CLEVO) 13,3'', SU2300, 2048 Go, GMA 4500HD

Hors ligne

#16 Le 23/11/2012, à 16: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.


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne