récupérer nom des fichiers, commande unix |
Bienvenue invité ( Connexion | Inscription )
récupérer nom des fichiers, commande unix |
20 Aug 2017, 16:02
Message
#1
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
bonjour a tout le monde;
Dans un dossier ou se trouve des photos ; je cherche a récupérer le nom des fichiers et de les renommer. par exemple photo1.JPG photo2.JPG dans le terminal la commande me récupère tous les noms des fichiers dans mon dossier photo la commande renomme les fichiers ( extension comprise) en "photo1.JPG", ( la virgule c'est pour faire un tableau) a la sortie j'aurai ca "photo1.JPG", "photo2.JPG", etc etc de fait je n'aurai plus qu'a récupérer cette chaine, enlever la dernière virgule et faire un tableau ( c'est pour faire une galerie en php) Si c ela est possible bien entendu. merci beaucoup. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
20 Aug 2017, 17:42
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Salut,
Il y a peut être plus élégant, mais j'ai pondu ce script, qui fonctionne. Ouvre un terminal, rends toi dans le dossier contenant les photos à renommer et colle cette commande: for i in *.jpg ; do mv $i Photo_$PHOTO".jpg"; PHOTO=$[PHOTO+1]; done ; ls *.jpg >> liste_photos.csv cela va renommer tous les jpg du dossier dans lequel tu te trouves en Photo_1.jpg Photo_2.jpg Photo_3.jpg etc et ecrire un listing de ces photos dans ce repertoires sous le nom liste_photos.csv (Comma-Separated Values) que tu pourras utiliser pour un tableau. -- Tu peux copier la commande dans un fichier que tu rendras executable, plus pratique si tu as plusieurs dossiers à traiter Tu créés le fichier: nano rename_image.sh Tu y colles le code suivant Code for i in *.jpg; do mv $i Photo_$PHOTO".jpg"; PHOTO=$[PHOTO+1]; ls *.jpg >> liste_photos.csv; done; Tu le rends executable chmod +x rename_image.sh et tu l'executes par ./rename_image.sh Ce message a été modifié par _Panta - 20 Aug 2017, 18:15. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Aug 2017, 18:36
Message
#3
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou _Panta.
Merci de la peine que tu te donnes. lorsque tu me dis rends toi dans le dossier; c'est a dire j'indique le chemin? il y a tel une separation entre le chemin et le script ? ( il me fait une erreur : -bash: syntax error near unexpected token `do') merci sinon j'ai trouvé une solution avec avec la commande clic droit sur les fichiers sélectionnés " renommer les fichiers" format nom et index emplacement avant le nom format personnalisé (la je mets le nom que je veux) commencer la numérotation a 1 je me retrouve avec un nom de fichier : 1maPhoto.JPG etc etc ensuite sur le serveur j'importe ce dossier et dans une boucle je récupère les photo que je veux afficher dans mon html. Comme tu dis il a surement plus optimisé et plus élégant; mais c'est juste pour faire une galerie de temps en temps, genre fête de famille; afin que tous puissent récupère les photos qui les intéresse. En tout cas merci pour tout. si ca intéresse quelqu'un jai la commande pour faire les vignettes et pour réduite la taille des photos dans le terminal. Merci a toi -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
20 Aug 2017, 19:09
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Tu demandais "en ligne de commande". Il y a plein d'outil graphique sinon
Copie-colle la ligne que j'ai donné, elle est correcte. for i in *.jpg ; do mv $i Photo_$PHOTO".jpg"; PHOTO=$[PHOTO+1]; done ; ls *.jpg >> liste_photos.csv Il faut que être dans le repertoire que tu veux attaquer naturellement, donc cd Pictures/mon_dossier par exemple -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Aug 2017, 19:50
Message
#5
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou.
je ne suis pas spécialement branché ligne de commande !! oui évidement je lai copié collé. mais jai le message d'erreur, sans doute ne sait il pas ou est le dossier. j'ai juste ouvert le terminal ; mis le chemin absolu du dossier puis tapé ta commande. et jai le message d'erreur. je crois savoir d'ou viens l'erreur. *jpg alors que dans mon dossier c'est JPG. et vraiment merci i -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
Nous sommes le : 26th April 2024 - 20:34 |