IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Besoin d'aide avec automator
Options
agappaia
posté 30 Dec 2015, 21:34
Message #1


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



Bonjour à tous,
Je suis vraiment nulle en technique aussi je crois que j'ai besoin de votre aide.
Voilà ce à quoi j'aimerais arriver : qu'à partir de n'importe quel dossier contenant des fichiers (sons en l'occurrence), automator crée une liste en fichier texte reprenant à la queue leu leu le nom de chaque fichier (avec l'extension), et que chaque nom soit entre guillemets, et suivi d'une virgule.

Exemple :

"monfichier1.wav","monfichier2.wav","monfichier3.wav"

etc etc

J'imagine que cela doit être possible. J'ai essayé de m'y mettre avec quelques tutoriels automator mais c'est vraiment trop compliqué pour moi, je n'arrive à rien de bon.

Merci de votre aide wink.gif


Go to the top of the page
 
+Quote Post
Gotchi
posté 30 Dec 2015, 21:36
Message #2


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



tu veux absolument faire cela avec automator?
car dans le Terminal, ce n'est pas bien difficile à faire.


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
agappaia
posté 30 Dec 2015, 21:59
Message #3


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



Salut Gotchi
Non, automator ou le terminal, peu importe au fond. C'est juste qu'en me renseignant sur le sujet, automator me paraissait plus "simple", façon de parler..

Et je viens de me rendre compte que j'ai mal formulé ce que je voulais obtenir. Ce n'est pas seulement une liste des noms de fichiers, mais leur nom avec leur emplacement sur mon ordinateur. Exemple :

"/Users/agappaia/Desktop/sons/son1.aif","/Users/agappaia/Desktop/sons/son2.aif","/Users/agappaia/Desktop/sons/son3.aif"

etc etc

C'est faisable également ?
Go to the top of the page
 
+Quote Post
Gotchi
posté 30 Dec 2015, 22:27
Message #4


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



tu maitrises déjà un peu le terminal/unix ou il faut que je détaille tout?


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
PBell
posté 30 Dec 2015, 22:32
Message #5


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonsoir
sur le terminal, avec "ls -1", c'est facile, mais je ne me souviens plus comment ajouter le chemin devant les noms de fichiers.

Donc je suis passé par Applescript :
CODE
set Dossier to choose folder "Sélectionner le dossier à lister"
tell application "Finder"
    set Mes_Fichiers to every file of Dossier
    set Liste to {}
    repeat with UnFichier in Mes_Fichiers
        set end of Liste to (POSIX path of (UnFichier as string))
    end repeat
end tell
set AppleScript's text item delimiters to ","
set the clipboard to (Liste as text)


Tu as demandé les chemins sous la forme dossier/sous_dossier/Fichier, donc la forme Unix : c'est le rôle de "PoSIX path"
Tu as demandé la séparation par des virgules, c'est sur l'avant dernière ligne.
Enfin, la dernière ligne mets la liste dans le presse-papier. tu peux donc faire un command-v dans l'application de ton choix !

Cordialement


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
agappaia
posté 30 Dec 2015, 22:37
Message #6


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



J'ai déjà exécuté des commandes toutes faites dans le terminal, mais c'est tout. Non, on ne peut pas raisonnablement dire que je maîtrise.

Je ne suis pas contre quelques explications...
Go to the top of the page
 
+Quote Post
Gotchi
posté 30 Dec 2015, 22:40
Message #7


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



Citation (PBell @ 30 Dec 2015, 22:32) *
Bonsoir
sur le terminal, avec "ls -1", c'est facile, mais je ne me souviens plus comment ajouter le chemin devant les noms de fichiers.

avec find sinon : find * -name "*.wav"


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
agappaia
posté 30 Dec 2015, 22:51
Message #8


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



Citation (PBell @ 30 Dec 2015, 22:32) *
Bonsoir
sur le terminal, avec "ls -1", c'est facile, mais je ne me souviens plus comment ajouter le chemin devant les noms de fichiers.

Donc je suis passé par Applescript :
Code
set Dossier to choose folder "Sélectionner le dossier à lister"
tell application "Finder"
    set Mes_Fichiers to every file of Dossier
    set Liste to {}
    repeat with UnFichier in Mes_Fichiers
        set end of Liste to (POSIX path of (UnFichier as string))
    end repeat
end tell
set AppleScript's text item delimiters to ","
set the clipboard to (Liste as text)


Tu as demandé les chemins sous la forme dossier/sous_dossier/Fichier, donc la forme Unix : c'est le rôle de "PoSIX path"
Tu as demandé la séparation par des virgules, c'est sur l'avant dernière ligne.
Enfin, la dernière ligne mets la liste dans le presse-papier. tu peux donc faire un command-v dans l'application de ton choix !

Cordialement


Waouh merci beaucoup PBell. Mais...je fais quoi avec ce script ? Je l'utilise avec automator ?


Ah ok, je crois que j'ai compris : avec Apple script editor ?

Je viens d'essayer et c'est presque bon. C'est juste que chaque fichier doit être entre guillemets comme suit :

"/Users/agappaia/Desktop/sons/fichier1.aif","/Users/agappaia/Desktop/sons /fichier2.aif","/Users/agappaia/Desktop/sons /fichier3.aif"
Go to the top of the page
 
+Quote Post
Gotchi
posté 30 Dec 2015, 23:06
Message #9


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



Citation (agappaia @ 30 Dec 2015, 22:37) *
J'ai déjà exécuté des commandes toutes faites dans le terminal, mais c'est tout. Non, on ne peut pas raisonnablement dire que je maîtrise.

Je ne suis pas contre quelques explications...

ok
une fois le terminal lancé, la commande "find" permet de chercher des éléments (selon un critère), dans un emplacement donné
Exemple : find /Users/gotchi/Downloads -name "*.dmg"
ça va lister tous les fichiers avec l'extension .dmg qui sont dans mon dossier Téléchargements
Fichier joint  Capture_d_____cran_2015_12_30____22.45.40.png ( 37.39 Ko ) Nombre de téléchargements : 3


il faut dans la commande précédente changer le chemin avec le dossier dont tu veux lister le contenu
et changer le type d'extension suivant que tu veux lister des .dmg, des .jpg ou des .wav

Ensuite, la commande sed s/a/b/ permet de substituer dans une chaine de caractère les "a" en "b"
là, ce n'est pas exactement ce que l'on veut faire, on veut ajouter des " " en début et fin de ligne
en gros, substituer le début de ligne par ", ainsi que la fin de ligne aussi par "
le caractère qui indique le début de ligne est ^, le caractère qui indique la fin de ligne est $
donc on va substituer ^ par ", à la suite la commande find prédécente. Les commandes en unix s'enchainent avec le pipe : |
seul problème, le " ne doit pas être interprété par sed. Il faut donc banaliser ce caractère " en mettant un \ devant : \"
ce qui donne :
Fichier joint  Capture_d_____cran_2015_12_30____22.53.19.png ( 39 Ko ) Nombre de téléchargements : 9


Enfin, on ajoute aussi un " en fin de ligne :
Fichier joint  Capture_d_____cran_2015_12_30____22.54.32.png ( 39.98 Ko ) Nombre de téléchargements : 8


il y a plein de façons de faire. J'en montre juste une avec des explications pour que tu comprennes et que tu puisses l'adapter à tes besoins


pour finir :
tu veux tout mettre sur la même ligne, avec virgule et espace entre chaque nom de fichiers :
au lieu de remplacer les fins de lignes par un simple ", on les remplace par ",espace
ce qui donne : (je mets la lettre a à la place de l'espace pour que ce soit plus lisible)
Fichier joint  Capture_d_____cran_2015_12_30____23.06.26.png ( 41.2 Ko ) Nombre de téléchargements : 6


et enfin, on supprime les retours à la ligne :
Fichier joint  Capture_d_____cran_2015_12_30____23.07.58.png ( 28.43 Ko ) Nombre de téléchargements : 11


EDIT :
dans ta demande initiale, je crois qu'il n'y a pas d'espace après la virgule, donc dans la commande sed, il faut juste ", et non pas ",espace (ou la lettre a comme le montre ma capture d'écran pour plus de lisibilité)


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
Gotchi
posté 30 Dec 2015, 23:31
Message #10


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



L'intérêt de la commande find dans l'exemple précédent, c'est que ton dossier peut contenir plein de fichiers mais seuls les fichiers .jpg ou .wav par exemple seront listés


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
agappaia
posté 30 Dec 2015, 23:45
Message #11


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



Fantastique ! Ça marche. Merci infiniment Gotchi pour tes explications précises.
En admettant que mes répertoires contiennent des fichiers .aif disons, mais aussi .wav est il possible de le déclarer également aprés "name" ?

Go to the top of the page
 
+Quote Post
Gotchi
posté 31 Dec 2015, 00:06
Message #12


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



Oui il faut faire une recherche multi critère avec find
Dans Google si tu fais une recherche avec les mots clés "unix find multi critere", tu devrais trouver ton bonheur. Sinon je te fais ça demain.


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
agappaia
posté 31 Dec 2015, 00:14
Message #13


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



Ok, je vais checker ça ! Merci encore. Bonne nuit.

Ce message a été modifié par agappaia - 31 Dec 2015, 00:14.
Go to the top of the page
 
+Quote Post
Gotchi
posté 31 Dec 2015, 08:44
Message #14


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



voilà comment chercher deux types de fichiers/d'extensions si tu as besoin :
Fichier joint  Capture_d_____cran_2015_12_31____08.42.41.png ( 41.63 Ko ) Nombre de téléchargements : 18


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
PBell
posté 31 Dec 2015, 09:40
Message #15


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Merci Gotchi !
je rends les armes : Terminal 1, Applescript 0

Et merci pour la partie "sed" : je me débas sur la syntaxe des cette commande très puissante et tes explications sont très claires.

Bon réveillon !


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
agappaia
posté 31 Dec 2015, 11:50
Message #16


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 30 Dec 2015
Membre no 197 593



Bon réveillon à tous ! smile.gif
Go to the top of the page
 
+Quote Post
Gotchi
posté 31 Dec 2015, 12:12
Message #17


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



ne reste plus qu'à essayer dans le terminal la commande suivante :

CODE
banner "bon reveillon"


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
Go to the top of the page
 
+Quote Post
Gotchi
posté 31 Dec 2015, 18:29
Message #18


Macbidouilleur de Nancy
*****

Groupe : Modérateurs
Messages : 8 787
Inscrit : 16 Nov 2001
Lieu : Clermont-Ferrand
Membre no 1 308



si tu veux une autre variante de la commande demandée, tu peux aussi passer par une boucle for avec une liste de toutes les extensions que tu veux.
je te donne comment faire à titre pédagogique, à toi de voir de quoi tu as besoin
Attention, ça va alors chercher tous les fichiers avec la première extension, puis tous les fichiers avec la deuxième, ...
Les fichiers sont donc dans l'ordre alphabétique par extension
tu obtiens par exemple :
abc.dmg
def.dmg
ghi.dmg
abc.pkg
def.pkg
...


et non pas :
abc.dmg
abc.pkg
def.dmg
def.pkg

CODE
for extension in 'dmg' 'pkg' 'doc'
do find /Users/gotchi/Downloads -name "*.$extension" | sed s/^/\"/ | sed s/$/\",/ | tr -d '\n'
done


--------------------
pour suivre mes tests de produits sur Amazon : Mon profil Amazon
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 : 26th April 2024 - 07:20