Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
2004-07-20, 07:12(+02), Julien Gautier: [...]
Excuse moi d'y revenir mais je n'arrive pas à ajouter le traitement des accents à la commande (y compris majuscules) :
sed "s/'[a-z]/\'\&'/g"
et l'autre ne semble pas traiter les accents..
Sachant que ce sed s'éxécutera dans un shell sh (ou bash : sous MacOS X)
PArdonnez moi si ma question est trop triviale... [...]
Pas triviale, mais pas claire non plus. Est-ce que tu peux reformuler ton probleme depuis le depart, y compris le contexte.
Il y avait un autre thread ou tu parlais de convertir du texte d'un jeu de caractere a un autre (a priori), c'est ca que tu veux dire par "traitement des accents" ?
Ce que j'ai compris jusque la, c'est que tu veux convertir
'e en ''e'
et aussi
é (octet de valeur 0351 ?) en e314201 (où 314 est l'octet de valeur 0314).
Est-ce que tu veux convertir aussi è en e314200 et « en 302253 ?
Pour quelle raison, dans quel contexte ? Ne peux-tu pas plutot utiliser perl ?
-- Stephane
2004-07-20, 07:12(+02), Julien Gautier:
[...]
Excuse moi d'y revenir mais je n'arrive pas à ajouter le traitement des
accents à la commande (y compris majuscules) :
sed "s/'[a-z]/\\'\\&'/g"
et l'autre ne semble pas traiter les accents..
Sachant que ce sed s'éxécutera dans un shell sh (ou bash : sous MacOS X)
PArdonnez moi si ma question est trop triviale...
[...]
Pas triviale, mais pas claire non plus. Est-ce que tu peux
reformuler ton probleme depuis le depart, y compris le contexte.
Il y avait un autre thread ou tu parlais de convertir du texte
d'un jeu de caractere a un autre (a priori), c'est ca que tu
veux dire par "traitement des accents" ?
Ce que j'ai compris jusque la, c'est que tu veux convertir
'e en ''e'
et aussi
é (octet de valeur 0351 ?) en e314201 (où 314 est l'octet de
valeur 0314).
Est-ce que tu veux convertir aussi è en e314200 et « en
302253 ?
Pour quelle raison, dans quel contexte ? Ne peux-tu pas plutot
utiliser perl ?
Excuse moi d'y revenir mais je n'arrive pas à ajouter le traitement des accents à la commande (y compris majuscules) :
sed "s/'[a-z]/\'\&'/g"
et l'autre ne semble pas traiter les accents..
Sachant que ce sed s'éxécutera dans un shell sh (ou bash : sous MacOS X)
PArdonnez moi si ma question est trop triviale... [...]
Pas triviale, mais pas claire non plus. Est-ce que tu peux reformuler ton probleme depuis le depart, y compris le contexte.
Il y avait un autre thread ou tu parlais de convertir du texte d'un jeu de caractere a un autre (a priori), c'est ca que tu veux dire par "traitement des accents" ?
Ce que j'ai compris jusque la, c'est que tu veux convertir
'e en ''e'
et aussi
é (octet de valeur 0351 ?) en e314201 (où 314 est l'octet de valeur 0314).
Est-ce que tu veux convertir aussi è en e314200 et « en 302253 ?
Pour quelle raison, dans quel contexte ? Ne peux-tu pas plutot utiliser perl ?
-- Stephane
julien.gautier
Stephane Chazelas wrote:
Excuse moi d'y revenir mais je n'arrive pas à ajouter le traitement des accents à la commande (y compris majuscules) :
sed "s/'[a-z]/\'\&'/g"
PArdonnez moi si ma question est trop triviale... [...]
Pas triviale, mais pas claire non plus. Est-ce que tu peux reformuler ton probleme depuis le depart, y compris le contexte.
Tu as raison, ce n'est pas très clair...
Pour résumer :
je confectionne un petit soft GUI en AppleScript (AppleScriptStudio dans XCode), qui tournera donc sous mac OS X (10.3).
Celui-ci sert à saisir des données par lots dans une base de données MySQL qui est par ailleurs (et principalement) utilisée via des formulaires html/php.
Mais le soft AppleScript lance aussi des commandes shell via la commande AS "do shell script la_commande" : des sed.
Le problème est d'assurer la conversion correcte de tous les caractères entre MySQL, PHP, AppleScript, les commandes shell lancées depuis AppleScript.
En l'occurence, le thread actuel (ici même) porte sur une chaine (un nom de fichier, potentiellement long et comportant tout caractère) récupérée par AS (le Finder plus précisément), et qui doit être ensuite insérée comme chemin de fichier valide dans une commande shell (un cp).
Or, j'ai constaté que mon shell (bash; AS utilise sh, mais il semble que ce soit pareil) traduit le fichier "l'amour.JPG" par :
l'amour.JPG
D'où un précédent thread, et ta réponse :
sed "s/'[a-z]/\'\&'/g"
Mais j'aimerais pouvoir obtenir cette traduction pour tout caractère (possible).
Ne peux-tu pas plutot utiliser perl ?
Je ne connais pas perl, et je trouve que AS + shell + PHP + MySQL + html, etc., cela fait déjà beaucoup... !!
;-)
Par contre, dans le petit soft de batch, je pourrais peut-être éliminer les commandes shell et utiliser seulement AS.
Excuse moi d'y revenir mais je n'arrive pas à ajouter le traitement des
accents à la commande (y compris majuscules) :
sed "s/'[a-z]/\\'\\&'/g"
PArdonnez moi si ma question est trop triviale...
[...]
Pas triviale, mais pas claire non plus. Est-ce que tu peux
reformuler ton probleme depuis le depart, y compris le contexte.
Tu as raison, ce n'est pas très clair...
Pour résumer :
je confectionne un petit soft GUI en AppleScript (AppleScriptStudio dans
XCode), qui tournera donc sous mac OS X (10.3).
Celui-ci sert à saisir des données par lots dans une base de données
MySQL qui est par ailleurs (et principalement) utilisée via des
formulaires html/php.
Mais le soft AppleScript lance aussi des commandes shell via la
commande AS "do shell script la_commande" : des sed.
Le problème est d'assurer la conversion correcte de tous les caractères
entre MySQL, PHP, AppleScript, les commandes shell lancées depuis
AppleScript.
En l'occurence, le thread actuel (ici même) porte sur une chaine (un
nom de fichier, potentiellement long et comportant tout caractère)
récupérée par AS (le Finder plus précisément), et qui doit être ensuite
insérée comme chemin de fichier valide dans une commande shell (un cp).
Or, j'ai constaté que mon shell (bash; AS utilise sh, mais il semble que
ce soit pareil) traduit le fichier "l'amour.JPG" par :
l'amour.JPG
D'où un précédent thread, et ta réponse :
sed "s/'[a-z]/\\'\\&'/g"
Mais j'aimerais pouvoir obtenir cette traduction pour tout caractère
(possible).
Ne peux-tu pas plutot
utiliser perl ?
Je ne connais pas perl, et je trouve que AS + shell + PHP + MySQL +
html, etc., cela fait déjà beaucoup... !!
;-)
Par contre, dans le petit soft de batch, je pourrais peut-être éliminer
les commandes shell et utiliser seulement AS.
Excuse moi d'y revenir mais je n'arrive pas à ajouter le traitement des accents à la commande (y compris majuscules) :
sed "s/'[a-z]/\'\&'/g"
PArdonnez moi si ma question est trop triviale... [...]
Pas triviale, mais pas claire non plus. Est-ce que tu peux reformuler ton probleme depuis le depart, y compris le contexte.
Tu as raison, ce n'est pas très clair...
Pour résumer :
je confectionne un petit soft GUI en AppleScript (AppleScriptStudio dans XCode), qui tournera donc sous mac OS X (10.3).
Celui-ci sert à saisir des données par lots dans une base de données MySQL qui est par ailleurs (et principalement) utilisée via des formulaires html/php.
Mais le soft AppleScript lance aussi des commandes shell via la commande AS "do shell script la_commande" : des sed.
Le problème est d'assurer la conversion correcte de tous les caractères entre MySQL, PHP, AppleScript, les commandes shell lancées depuis AppleScript.
En l'occurence, le thread actuel (ici même) porte sur une chaine (un nom de fichier, potentiellement long et comportant tout caractère) récupérée par AS (le Finder plus précisément), et qui doit être ensuite insérée comme chemin de fichier valide dans une commande shell (un cp).
Or, j'ai constaté que mon shell (bash; AS utilise sh, mais il semble que ce soit pareil) traduit le fichier "l'amour.JPG" par :
l'amour.JPG
D'où un précédent thread, et ta réponse :
sed "s/'[a-z]/\'\&'/g"
Mais j'aimerais pouvoir obtenir cette traduction pour tout caractère (possible).
Ne peux-tu pas plutot utiliser perl ?
Je ne connais pas perl, et je trouve que AS + shell + PHP + MySQL + html, etc., cela fait déjà beaucoup... !!
;-)
Par contre, dans le petit soft de batch, je pourrais peut-être éliminer les commandes shell et utiliser seulement AS.
Merci pour tes conseils et ton aide.
Stephane Chazelas
2004-07-20, 22:14(+02), Julien Gautier: [...]
Mais le soft AppleScript lance aussi des commandes shell via la commande AS "do shell script la_commande" : des sed.
Le problème est d'assurer la conversion correcte de tous les caractères entre MySQL, PHP, AppleScript, les commandes shell lancées depuis AppleScript. [...]
Je ne suis pas sur de cerner où se situe le probleme exactement:
Tu lances un script shell avec des arguments ? Ou AS te permet de lancer une ligne de commande shell ?
Comment les arguments au script sont passés ? Peut-etre peux-tu passer par des variables d'environnement si le probleme est d'avoir une ligne de commande correcte au niveau de la syntaxe shell.
« mon_script l'amour »
est une ligne de commande shell syntactiquement incorrecte car la ' n'est pas refermee.
Si tu reussis a creer une variable d'environnement MON_FICHER avec comme valeur "l'amour" (par le putenv ou setenv ou je ne sais quoi de AS), tu peux alors lancer
« mon_script "$MON_FICHER" »
qui est une ligne de commande shell valide quelque soit le nom du fichier.
-- Stephane
2004-07-20, 22:14(+02), Julien Gautier:
[...]
Mais le soft AppleScript lance aussi des commandes shell via la
commande AS "do shell script la_commande" : des sed.
Le problème est d'assurer la conversion correcte de tous les caractères
entre MySQL, PHP, AppleScript, les commandes shell lancées depuis
AppleScript.
[...]
Je ne suis pas sur de cerner où se situe le probleme exactement:
Tu lances un script shell avec des arguments ? Ou AS te permet
de lancer une ligne de commande shell ?
Comment les arguments au script sont passés ? Peut-etre peux-tu
passer par des variables d'environnement si le probleme est
d'avoir une ligne de commande correcte au niveau de la syntaxe
shell.
« mon_script l'amour »
est une ligne de commande shell syntactiquement incorrecte car
la ' n'est pas refermee.
Si tu reussis a creer une variable d'environnement MON_FICHER
avec comme valeur "l'amour" (par le putenv ou setenv ou je ne
sais quoi de AS), tu peux alors lancer
« mon_script "$MON_FICHER" »
qui est une ligne de commande shell valide quelque soit le nom
du fichier.
Mais le soft AppleScript lance aussi des commandes shell via la commande AS "do shell script la_commande" : des sed.
Le problème est d'assurer la conversion correcte de tous les caractères entre MySQL, PHP, AppleScript, les commandes shell lancées depuis AppleScript. [...]
Je ne suis pas sur de cerner où se situe le probleme exactement:
Tu lances un script shell avec des arguments ? Ou AS te permet de lancer une ligne de commande shell ?
Comment les arguments au script sont passés ? Peut-etre peux-tu passer par des variables d'environnement si le probleme est d'avoir une ligne de commande correcte au niveau de la syntaxe shell.
« mon_script l'amour »
est une ligne de commande shell syntactiquement incorrecte car la ' n'est pas refermee.
Si tu reussis a creer une variable d'environnement MON_FICHER avec comme valeur "l'amour" (par le putenv ou setenv ou je ne sais quoi de AS), tu peux alors lancer
« mon_script "$MON_FICHER" »
qui est une ligne de commande shell valide quelque soit le nom du fichier.
-- Stephane
julien.gautier
Stephane Chazelas wrote:
Je ne suis pas sur de cerner où se situe le probleme exactement:
Tu lances un script shell avec des arguments ? Ou AS te permet de lancer une ligne de commande shell ?
Les deux : par le biais d'AS, je lance des lignes de commandes shell qui comportent des arguments.
Comment les arguments au script sont passés ? Peut-etre peux-tu passer par des variables d'environnement si le probleme est d'avoir une ligne de commande correcte au niveau de la syntaxe shell.
« mon_script l'amour »
est une ligne de commande shell syntactiquement incorrecte car la ' n'est pas refermee.
Si tu reussis a creer une variable d'environnement MON_FICHER avec comme valeur "l'amour" (par le putenv ou setenv ou je ne sais quoi de AS), tu peux alors lancer
« mon_script "$MON_FICHER" »
qui est une ligne de commande shell valide quelque soit le nom du fichier.
Je ne suis pas sur de cerner où se situe le probleme exactement:
Tu lances un script shell avec des arguments ? Ou AS te permet
de lancer une ligne de commande shell ?
Les deux : par le biais d'AS, je lance des lignes de commandes shell qui
comportent des arguments.
Comment les arguments au script sont passés ? Peut-etre peux-tu
passer par des variables d'environnement si le probleme est
d'avoir une ligne de commande correcte au niveau de la syntaxe
shell.
« mon_script l'amour »
est une ligne de commande shell syntactiquement incorrecte car
la ' n'est pas refermee.
Si tu reussis a creer une variable d'environnement MON_FICHER
avec comme valeur "l'amour" (par le putenv ou setenv ou je ne
sais quoi de AS), tu peux alors lancer
« mon_script "$MON_FICHER" »
qui est une ligne de commande shell valide quelque soit le nom
du fichier.
Je ne suis pas sur de cerner où se situe le probleme exactement:
Tu lances un script shell avec des arguments ? Ou AS te permet de lancer une ligne de commande shell ?
Les deux : par le biais d'AS, je lance des lignes de commandes shell qui comportent des arguments.
Comment les arguments au script sont passés ? Peut-etre peux-tu passer par des variables d'environnement si le probleme est d'avoir une ligne de commande correcte au niveau de la syntaxe shell.
« mon_script l'amour »
est une ligne de commande shell syntactiquement incorrecte car la ' n'est pas refermee.
Si tu reussis a creer une variable d'environnement MON_FICHER avec comme valeur "l'amour" (par le putenv ou setenv ou je ne sais quoi de AS), tu peux alors lancer
« mon_script "$MON_FICHER" »
qui est une ligne de commande shell valide quelque soit le nom du fichier.
D'accord, c'est une idée.
Merci bcp.
Antoine Bellot
Je ne connais pas perl, et je trouve que AS + shell + PHP + MySQL + html, etc., cela fait déjà beaucoup... !!
;-)
Par contre, dans le petit soft de batch, je pourrais peut-être éliminer les commandes shell et utiliser seulement AS.
Si tu utilises déjà PHP côté serveur, il est normalement possible, sur tout unix, d'utiliser le langage PHP pour écrire des scripts-shells : ce n'est pas très élégant, mais c'est peut-être intéressant dans ton cas.
Par ailleurs, PHP supporte les expressions régulières et les expressions régulières PERL. Tu peux donc faire tout ce que permet sed en PHP.
Ceci dit, il est peut-être plus intéressant encore de normaliser tes données côté serveur, avant leur insertion dans la base de données, en utilisant PHP côté serveur.
Je ne connais pas perl, et je trouve que AS + shell + PHP + MySQL +
html, etc., cela fait déjà beaucoup... !!
;-)
Par contre, dans le petit soft de batch, je pourrais peut-être éliminer
les commandes shell et utiliser seulement AS.
Si tu utilises déjà PHP côté serveur, il est normalement possible, sur
tout unix, d'utiliser le langage PHP pour écrire des scripts-shells : ce
n'est pas très élégant, mais c'est peut-être intéressant dans ton cas.
Par ailleurs, PHP supporte les expressions régulières et les expressions
régulières PERL. Tu peux donc faire tout ce que permet sed en PHP.
Ceci dit, il est peut-être plus intéressant encore de normaliser tes
données côté serveur, avant leur insertion dans la base de données, en
utilisant PHP côté serveur.
Je ne connais pas perl, et je trouve que AS + shell + PHP + MySQL + html, etc., cela fait déjà beaucoup... !!
;-)
Par contre, dans le petit soft de batch, je pourrais peut-être éliminer les commandes shell et utiliser seulement AS.
Si tu utilises déjà PHP côté serveur, il est normalement possible, sur tout unix, d'utiliser le langage PHP pour écrire des scripts-shells : ce n'est pas très élégant, mais c'est peut-être intéressant dans ton cas.
Par ailleurs, PHP supporte les expressions régulières et les expressions régulières PERL. Tu peux donc faire tout ce que permet sed en PHP.
Ceci dit, il est peut-être plus intéressant encore de normaliser tes données côté serveur, avant leur insertion dans la base de données, en utilisant PHP côté serveur.