IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Votre aide Si possible [Résolu], Inverser des données d'un nom de fichier
Options
EPERVIER
posté 9 Sep 2024, 10:06
Message #1


Nouveau Membre


Groupe : Membres
Messages : 3
Inscrit : 17 Jul 2014
Membre no 191 274



Bonjour,

Pour que vous compreniez mes difficultés, j'ai 73 ans, je ne parle pas anglais, mais je suis une passionnée d'Apple depuis son arrivée en France...

Je me débrouille, pas trop mal en informatique mais des barrières demeurent.

Je me trouve devant une grande difficultés.

J'ai plus de 16000 noms de fichiers à inverser.

Je m'explique :

J'ai en effet créé mon propre site avec des applications pour non "formée informatique" : https://sparfel.fr/fr/index.html.

Ce site a pour but de publier tout ce qui concerne mon nom de famille qui traduit du breton signifie Epervier.
Ce qui entraine la collecte des actes des générations précédentes jusqu’en 1350. J'insiste : mon nom, pas ma généalogie.

Je suis en cours de réécriture dudit site avec une nouvelle application. Mais les noms de fichiers d'origine me posent problème :

Exemple : Sparfel Yves 1578 Plouescat n°514

Je voudrais : 514 Sparfel Yves 1578 Plouescat

J'ai trouvé sur MacBidouille en 2018 :

https://forum.macbidouille.com/index.php?showtopic=410732
dont Zeltron54 indique un script possible "Le plus facile est de faire un petit script applescript.".

Mais je ne sais pas comment trouver cet "applescript" et je ne sais pas où, ni comment sélectionner les éléments à intervertir. J'ai bien trouvé Automator, mais je je sais pas comment l'utiliser.

Bref, je suis devant un grand désarroi. J'ai beau être en retraite, donc supposée disposée de temps, mais je suis encore plus pressée que dans la vie active, de peur de passer l'arme à gauche avant d'avoir fini...

Si quelqu'un pouvait me venir en aide ce serait génial et vous auriez toute ma reconnaissance et la publication de votre nom sur mon site à venir.

Je précise je ne peux pas acheter un programme pour cela, j'ai déjà bien trop de dépense pour ma modeste retraite...

Donc si une bonne âme pouvait se pencher pour que je puisse renommer ces fichiers facilement, vous auriez ma reconnaissance infinie !

Merci d'avoir pris le temps de me lire,

Cordialement,





--------------------

Claudie Sparfel
https://sparfel.fr/fr/index.html




,,ooooO,,,,,,,,,,,,,,,, Beaucoup de gens marcheront,
,,,(,,,,),,,,,Ooooo,,,, Avec toi tout au long de ta vie,
,,,,\,,(,,,,,,,(,,,,),,,,,, Mais seulement les vrais ami(e)s,
,,,,,\_),,,,,,,,),,/,,,,,, Laisseront des traces de pas,
,,,,,,,,,,,,,,,,(_/,,,,,,,,
Go to the top of the page
 
+Quote Post
hellomorld
posté 9 Sep 2024, 10:28
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 173
Inscrit : 31 Oct 2003
Membre no 11 118



ChatGPt indique de faire cette manip avec le terminal (ne fonctionnera que si toutes tes lignes sont basées sur la même structure que celle de ton exemple) :

1/ tu copies cette commande dans le terminal :
Code
sed -r 's/([[:alpha:]]+) ([[:alpha:]]+) ([0-9]+) ([[:alpha:]]+) n°([0-9]+)/\5 \1 \2 \3 \4/'

2/ tu rajoutes un espace à la fin de cette commande
3/ tu glisses sur la fenêtre du terminal ton fichier au format texte (.txt), son chemin d'accès va se rajouter à la suite de la commande.
4/ tu tapes un espace puis le symbole > puis un espace
5/ tu glisses de nouveau ton fichier sur le terminal, le chemin se rajoute de nouveau mais après tu changes le nom du fichier dans la commande : exemple : fichier.txt > fichier_reordonne.txt
ca permet de conserver intact le fichier original et de mettre une copie réordonnée à côté.

Par sécurité, fais quand même une copie de ton fichier avant !

Explication :
Le modèle ([[:alpha:]]+) capture un mot alphabétique (nom ou prénom).
Le modèle ([0-9]+) capture une suite de chiffres (le numéro).
Le modèle ([[:alpha:]]+) capture une ville.
Le modèle n°([0-9]+) capture le numéro après "n°".
La commande remplace ces captures et réordonne les éléments dans le format désiré (\5 \1 \2 \3 \4), où chaque numéro fait référence aux parenthèses capturées.

Ce message a été modifié par hellomorld - 9 Sep 2024, 10:29.


--------------------
Go to the top of the page
 
+Quote Post
g4hd
posté 9 Sep 2024, 12:28
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 10 024
Inscrit : 9 Nov 2001
Lieu : Pays d’Aix
Membre no 1 255



Bonjour,
Le gros fichier qui contient les 16000 paquets : quel logiciel ?
Si c'est un fichier genre excel avec des lignes et des colonnes… voire fait appel à des listes externes, la modification est peu compliquée.
Mais ça peut être autre chose.

Go to the top of the page
 
+Quote Post
EPERVIER
posté 9 Sep 2024, 14:15
Message #4


Nouveau Membre


Groupe : Membres
Messages : 3
Inscrit : 17 Jul 2014
Membre no 191 274



Fichier joint  exemple.jpeg ( 313.69 Ko ) Nombre de téléchargements : 30
hellomorld
Merci pour votre réponse, mais j'ai besoin d'un peu plus d'explication, excusez moi :

avec le terminal ?

De plus, et c'est également une réponse à g4hd il ne s'agit pas de fichier texte, j'ai dû mal m'expliquer il s'agit des fichiers contenus dans des dossiers du finder :

https://forum.macbidouille.com/style_images.../attach_add.png
Fichier(s) joint(s)
Fichier joint  exemple.jpeg ( 313.69 Ko ) Nombre de téléchargements : 28
 


--------------------

Claudie Sparfel
https://sparfel.fr/fr/index.html




,,ooooO,,,,,,,,,,,,,,,, Beaucoup de gens marcheront,
,,,(,,,,),,,,,Ooooo,,,, Avec toi tout au long de ta vie,
,,,,\,,(,,,,,,,(,,,,),,,,,, Mais seulement les vrais ami(e)s,
,,,,,\_),,,,,,,,),,/,,,,,, Laisseront des traces de pas,
,,,,,,,,,,,,,,,,(_/,,,,,,,,
Go to the top of the page
 
+Quote Post
hellomorld
posté 9 Sep 2024, 16:16
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 173
Inscrit : 31 Oct 2003
Membre no 11 118



Voilà ce que propose chatgpt (il ne fonctionnera que dans le dossier choisi, pas les sous-dossiers, et pas avec les noms composés comme 'de kersauzon', que ce soit dans le nom, le prénom ou la ville) mais c'est déjà une piste et ça peut dégrossir le travail. Je l'ai un peu modifié pour récupérer le numéro seul. Je n'ai pas testé.

Je te conseillerai d'en profiter pour rajouter des séparateurs entre les différentes "colonnes", comme un caractère # (ça permettrait de mieux gérer les noms composés par la suite : 514#Sparfel#Yves#1578#Plouescat

Par sécurité fais une sauvegarde des dossiers avant

Voici un script AppleScript qui devrait renommer les fichiers en suivant le modèle que vous avez donné. Il prendra des fichiers nommés avec le format `Sparfel Yves 1578 Plouescat n°514` et les renommerait en `514 Sparfel Yves 1578 Plouescat` sur macOS.

### Script AppleScript

Code
-- Choisir le dossier contenant les fichiers à renommer
set dossier to choose folder with prompt "Choisissez le dossier contenant les fichiers à renommer :"

-- Obtenir la liste des fichiers dans ce dossier
tell application "Finder"
    set fichiers to every file of folder dossier
end tell

-- Parcourir chaque fichier pour le renommer
repeat with fichier in fichiers
    tell application "Finder"
        set nomFichier to name of fichier
    end tell

    -- Utiliser une expression régulière pour capturer les différentes parties
    -- Exemple : "Sparfel Yves 1578 Plouescat n°514"
    set oldNom to nomFichier as string
    set newNom to ""
    
    try
        set AppleScript's text item delimiters to " "
        set partie1 to text item 1 of oldNom -- Prénom
        set partie2 to text item 2 of oldNom -- Nom
        set partie3 to text item 3 of oldNom -- Numéro (par exemple 1578)
        set partie4 to text items 4 through -3 of oldNom as string -- Ville (ex. Plouescat)
        set partie5 to text item -1 of oldNom -- Numéro après "n°" (par exemple 514)
        set AppleScript's text item delimiters to "°"
set numero to text item -1 of partie5
        -- Reformater le nouveau nom
        set newNom to numero & " " & partie1 & " " & partie2 & " " & partie3 & " " & partie4
        -- ou set newNom to numero & "#" & partie1 & "#" & partie2 & "#" & partie3 & "#" & partie4 -- avec séparateur

        -- Renommer le fichier
        tell application "Finder"
            set name of fichier to newNom
        end tell
    on error errMsg
        display dialog "Erreur lors du traitement du fichier " & oldNom & ": " & errMsg
    end try
end repeat

display dialog "Renommage terminé !"


### Explication :
- Le script commence par demander à l'utilisateur de sélectionner le dossier contenant les fichiers à renommer.
- Il récupère la liste de tous les fichiers du dossier.
- Ensuite, pour chaque fichier, il divise le nom en fonction des espaces, récupère les différentes parties (prénom, nom, numéro, ville, numéro de fin), et les réorganise selon le format souhaité.
- Enfin, il renomme le fichier avec le nouveau nom.

### Pour exécuter le script :
1. Ouvrez l'application "Script Editor" sur votre Mac.
2. Collez le code dans l'éditeur.
3. Cliquez sur le bouton "Exécuter" pour lancer le script.
4. Choisissez le dossier contenant les fichiers à renommer lorsque vous y êtes invité.

Assurez-vous de faire une sauvegarde de vos fichiers avant d'exécuter le script, au cas où vous auriez besoin de revenir en arrière.

Ce message a été modifié par hellomorld - 9 Sep 2024, 16:20.


--------------------
Go to the top of the page
 
+Quote Post
baron
posté 9 Sep 2024, 18:28
Message #6


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 653
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Si l'option Terminal ou AppleScript t'intimidait trop, tu pourrais jeter un œil sur cette application qui satisfait la plupart de ses utilisateurs : A Better Finder Rename.

https://www.publicspace.net/ABetterFinderRe...e/index_fr.html

++++++++++++

Quand je vois les exemples que tu as donnés, une recherche de "nº" suivi par des chiffres puis remplacement de cette expression en ne gardant que les chiffres et déplacement en tête du nom me paraît suffisante, sans devoir distinguer toutes les parties antérieures (nom, prénom, date de baptême, etc.).
Ça ne marchera toutefois pas pour, p.ex., Françoise de Kersauzon (il n'y a pas de chiffre après nº).

Bien veiller aussi à ce qu'il n'y ait pas des nº (avec "o" suscrit º : option + U) et des n° (avec le caractère "degré" ° : Maj. + parenthèse fermante).


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
EPERVIER
posté 10 Sep 2024, 06:51
Message #7


Nouveau Membre


Groupe : Membres
Messages : 3
Inscrit : 17 Jul 2014
Membre no 191 274



Je n'ai qu'un mot :

GEANT !

J'ai créé un dossier pour tester comme indiqué, et ça marche !

Merci mille fois !!!!!!

Claudie biggrin.gif


--------------------

Claudie Sparfel
https://sparfel.fr/fr/index.html




,,ooooO,,,,,,,,,,,,,,,, Beaucoup de gens marcheront,
,,,(,,,,),,,,,Ooooo,,,, Avec toi tout au long de ta vie,
,,,,\,,(,,,,,,,(,,,,),,,,,, Mais seulement les vrais ami(e)s,
,,,,,\_),,,,,,,,),,/,,,,,, Laisseront des traces de pas,
,,,,,,,,,,,,,,,,(_/,,,,,,,,
Go to the top of the page
 
+Quote Post
hellomorld
posté 10 Sep 2024, 07:38
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 173
Inscrit : 31 Oct 2003
Membre no 11 118



J'ai simplifié le code qui met simplement le numéro en début de nom, comme le dit Baron, pas besoin de détecter les autres "colonnes" vu que leur ordre ne change pas.
Ca devrait augmenter la compatibilité avec les noms composés.

Code
-- Choisir le dossier contenant les fichiers à renommer
set dossier to choose folder with prompt "Choisissez le dossier contenant les fichiers à renommer :"

-- Obtenir la liste des fichiers dans ce dossier
tell application "Finder"
    set fichiers to every file of folder dossier
end tell

-- Parcourir chaque fichier pour le renommer
repeat with fichier in fichiers
    tell application "Finder"
        set nomFichier to name of fichier
    end tell

    -- Utiliser une expression régulière pour capturer les différentes parties
    -- Exemple : "Sparfel Yves 1578 Plouescat n°514"
    set oldNom to nomFichier as string
    set newNom to ""
    
    try
         set AppleScript's text item delimiters to "°"
set numero to text item -1 of oldNom
set noms to text item 1 of oldNom

        -- Reformater le nouveau nom
        set newNom to numero & " " & noms
        -- ou set newNom to numero & "#" & noms -- avec séparateur

        -- Renommer le fichier
        tell application "Finder"
            set name of fichier to newNom
        end tell
    on error errMsg
        display dialog "Erreur lors du traitement du fichier " & oldNom & ": " & errMsg
    end try
end repeat

display dialog "Renommage terminé !"


Ce message a été modifié par hellomorld - 10 Sep 2024, 07:39.


--------------------
Go to the top of the page
 
+Quote Post
Zeltron54
posté 10 Sep 2024, 08:49
Message #9


Adepte de Macbidouille
*

Groupe : Membres
Messages : 177
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonjour,

Je suis surpris que ce script fonctionne !

Il traite les noms de fichier donc avec l'extension... qui est à priori en .png
et il n'efface pas l'espace et le "n" de n° en fin de nom !

Pour reprendre l'exemple donné dans le post original:

le nom : Sparfel Yves 1578 Plouescat n°514
va devenir. 514.png Sparfel Yves 1578 Plouescat n

et de plus en perdant l'extension du fichier !


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
JLB21
posté 10 Sep 2024, 09:37
Message #10


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 357
Inscrit : 2 May 2005
Membre no 38 287



Citation
j'ai 73 ans, je ne parle pas anglais

Il est regrettable que tu ne saches pas que la plupart des navigateurs et en particulier chez moi Safari, Brave et Chrome proposent une traduction automatique des sites visités.
Cela fonctionne pratiquement sur tous les sites, seuls quelques uns ne le permettent pas, et la traduction est très correcte sauf pour certaines locutions très techniques.

Dans Safari, ça se situe ici :

Fichier joint  CleanShot_2024_09_10_at_10.36.50_2x.jpg ( 76.44 Ko ) Nombre de téléchargements : 11
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 12th November 2024 - 00:10