Pages : 1
#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
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
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
pour la méthode graphique ---->pyrenamer
Ah oui, génial pour Madame Michu, ça
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
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
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
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