Merci pour l'aide précieuse lors de mon premier post...
Maintenant que j'ai enlevé les tabulations, je me retrouve avec un
autre problème...
id3tool (que je commence à regretter) ajoute des espaces à la fin de
chaque variable (auteur, titre,...)
il faut donc que je les enlèves...
le problème c'est qui il y a aussi des espaces dans les noms que je ne
veux pas enlever...
donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
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
Thomas Nemeth
Le sam 05 jun 2004 à 13:30, Rodolphe Mosca a tapoté : | Bonjour,
Bonjour,
| id3tool (que je commence à regretter) ajoute des espaces à la fin de | chaque variable (auteur, titre,...) | il faut donc que je les enlèves... | le problème c'est qui il y a aussi des espaces dans les noms que je ne | veux pas enlever... | | donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
titre=`echo "$titre" | sed -e 's/ *$//'`
Thomas -- Une personne qui continue à sourire quand tout va mal pense à quelqu'un sur qui rejeter la faute.
Le sam 05 jun 2004 à 13:30, Rodolphe Mosca a tapoté :
| Bonjour,
Bonjour,
| id3tool (que je commence à regretter) ajoute des espaces à la fin de
| chaque variable (auteur, titre,...)
| il faut donc que je les enlèves...
| le problème c'est qui il y a aussi des espaces dans les noms que je ne
| veux pas enlever...
|
| donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
titre=`echo "$titre" | sed -e 's/ *$//'`
Thomas
--
Une personne qui continue à sourire quand tout va mal pense à
quelqu'un sur qui rejeter la faute.
Le sam 05 jun 2004 à 13:30, Rodolphe Mosca a tapoté : | Bonjour,
Bonjour,
| id3tool (que je commence à regretter) ajoute des espaces à la fin de | chaque variable (auteur, titre,...) | il faut donc que je les enlèves... | le problème c'est qui il y a aussi des espaces dans les noms que je ne | veux pas enlever... | | donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
titre=`echo "$titre" | sed -e 's/ *$//'`
Thomas -- Une personne qui continue à sourire quand tout va mal pense à quelqu'un sur qui rejeter la faute.
Rodolphe Mosca
On 2004-06-05 13:51:39 +0200, Thomas Nemeth said:
Le sam 05 jun 2004 à 13:30, Rodolphe Mosca a tapoté : | Bonjour,
Bonjour,
| id3tool (que je commence à regretter) ajoute des espaces à la fin de | chaque variable (auteur, titre,...) | il faut donc que je les enlèves... | le problème c'est qui il y a aussi des espaces dans les noms que je ne | veux pas enlever... | | donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
titre=`echo "$titre" | sed -e 's/ *$//'`
Thomas
J'ai fait çà :
while [ "${artist:${#artist}-1:1}" = " " ] ; do artist=${artist% } ; done
ca fonctionne... (trouvé tout seul comme un grand ;-)
mais sérieusement, tu proposes de passer par sed... c'est mieux ? (plus rapide, plus prope... je sais pas...)
On 2004-06-05 13:51:39 +0200, Thomas Nemeth <thomas@exether.vipere.noire> said:
Le sam 05 jun 2004 à 13:30, Rodolphe Mosca a tapoté :
| Bonjour,
Bonjour,
| id3tool (que je commence à regretter) ajoute des espaces à la fin de
| chaque variable (auteur, titre,...)
| il faut donc que je les enlèves...
| le problème c'est qui il y a aussi des espaces dans les noms que je
ne | veux pas enlever...
| | donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
titre=`echo "$titre" | sed -e 's/ *$//'`
Thomas
J'ai fait çà :
while [ "${artist:${#artist}-1:1}" = " " ] ; do artist=${artist% } ; done
ca fonctionne... (trouvé tout seul comme un grand ;-)
mais sérieusement, tu proposes de passer par sed... c'est mieux ? (plus
rapide, plus prope... je sais pas...)
Le sam 05 jun 2004 à 13:30, Rodolphe Mosca a tapoté : | Bonjour,
Bonjour,
| id3tool (que je commence à regretter) ajoute des espaces à la fin de | chaque variable (auteur, titre,...) | il faut donc que je les enlèves... | le problème c'est qui il y a aussi des espaces dans les noms que je ne | veux pas enlever... | | donc pas possible d'utiliser un truc du genre titre=${titre%*(espace) }
titre=`echo "$titre" | sed -e 's/ *$//'`
Thomas
J'ai fait çà :
while [ "${artist:${#artist}-1:1}" = " " ] ; do artist=${artist% } ; done
ca fonctionne... (trouvé tout seul comme un grand ;-)
mais sérieusement, tu proposes de passer par sed... c'est mieux ? (plus rapide, plus prope... je sais pas...)
Thomas Nemeth
Le sam 05 jun 2004 à 14:00, Rodolphe Mosca a tapoté : | On 2004-06-05 13:51:39 +0200, Thomas Nemeth said: | | > titre=`echo "$titre" | sed -e 's/ *$//'` | | J'ai fait çà : | | while [ "${artist:${#artist}-1:1}" = " " ] ; do artist=${artist% } ; done | | ca fonctionne... (trouvé tout seul comme un grand ;-)
:)
| mais sérieusement, tu proposes de passer par sed... c'est mieux ? (plus | rapide, plus prope... je sais pas...)
Je préfère. Mais c'est un avis perso et empreint de subjectivité. En général je n'aime pas utiliser les spécificités d'un shell pour mes scripts : ça les rends moins portable. Les outils comme sed, awk, grep et j'en passe, sont présents sur quasiment tous les systèmes unix avec plus ou moins les mêmes options.
Ce que j'ai écrit marche sur tous les unix normalement, avec sh et sed.
Thomas -- Pas de panique ! Multi-modérer l'infrastructure fibro-câblée ne nous empêche pas de poly-ajuster l'hétéro-newbie résonnant ni même de capillo-tracter le filtre mediatico-réticulaire.
Le sam 05 jun 2004 à 14:00, Rodolphe Mosca a tapoté :
| On 2004-06-05 13:51:39 +0200, Thomas Nemeth <thomas@exether.vipere.noire> said:
|
| > titre=`echo "$titre" | sed -e 's/ *$//'`
|
| J'ai fait çà :
|
| while [ "${artist:${#artist}-1:1}" = " " ] ; do artist=${artist% } ; done
|
| ca fonctionne... (trouvé tout seul comme un grand ;-)
:)
| mais sérieusement, tu proposes de passer par sed... c'est mieux ? (plus
| rapide, plus prope... je sais pas...)
Je préfère. Mais c'est un avis perso et empreint de subjectivité. En
général je n'aime pas utiliser les spécificités d'un shell pour mes
scripts : ça les rends moins portable. Les outils comme sed, awk,
grep et j'en passe, sont présents sur quasiment tous les systèmes
unix avec plus ou moins les mêmes options.
Ce que j'ai écrit marche sur tous les unix normalement, avec sh et
sed.
Thomas
--
Pas de panique ! Multi-modérer l'infrastructure fibro-câblée
ne nous empêche pas de poly-ajuster l'hétéro-newbie résonnant
ni même de capillo-tracter le filtre mediatico-réticulaire.
Le sam 05 jun 2004 à 14:00, Rodolphe Mosca a tapoté : | On 2004-06-05 13:51:39 +0200, Thomas Nemeth said: | | > titre=`echo "$titre" | sed -e 's/ *$//'` | | J'ai fait çà : | | while [ "${artist:${#artist}-1:1}" = " " ] ; do artist=${artist% } ; done | | ca fonctionne... (trouvé tout seul comme un grand ;-)
:)
| mais sérieusement, tu proposes de passer par sed... c'est mieux ? (plus | rapide, plus prope... je sais pas...)
Je préfère. Mais c'est un avis perso et empreint de subjectivité. En général je n'aime pas utiliser les spécificités d'un shell pour mes scripts : ça les rends moins portable. Les outils comme sed, awk, grep et j'en passe, sont présents sur quasiment tous les systèmes unix avec plus ou moins les mêmes options.
Ce que j'ai écrit marche sur tous les unix normalement, avec sh et sed.
Thomas -- Pas de panique ! Multi-modérer l'infrastructure fibro-câblée ne nous empêche pas de poly-ajuster l'hétéro-newbie résonnant ni même de capillo-tracter le filtre mediatico-réticulaire.
Unknown
le problème c'est qui il y a aussi des espaces dans les noms que je ne veux pas enlever...
s'ils sont à la fin tu fais : var=`echo $var`
le problème c'est qui il y a aussi des espaces dans les noms que je ne
veux pas enlever...
le problème c'est qui il y a aussi des espaces dans les noms que je ne veux pas enlever...
s'ils sont à la fin tu fais : var=`echo $var`
arggggg.... il me tue là... tu as oublié de rajouter : "tout simplement ;-)"
marchera pas si il y a un meta caractere et que par malchance ca matche un nom de fichier
essaye :
var="* " par exemple
Stephane CHAZELAS
2004-06-5, 20:58(+02), Rodolphe Mosca:
On 2004-06-05 15:48:57 +0200, Unknown said:
le problème c'est qui il y a aussi des espaces dans les noms que je ne veux pas enlever...
s'ils sont à la fin tu fais : var=`echo $var`
arggggg.... il me tue là... tu as oublié de rajouter : "tout simplement ;-)"
Sauf que...
- ca enleve aussi les tabulations et les sauts de lignes - ca va deconner (voire deconner grave) s'il y a des wildcards dans $var (par exemple, un petit denial of quality of service voire plus grave avec /*/*/*/../../../*/*/*/../../../*/*/*) - ca va deconner encore (differemment suivant la version de echo) pour des var="-n", var=' // //'
fix_var() { IFS=" " set -f eval "set x $$1" shift eval "$1=$*" } myvar=" A B C " fix_var myvar
-- Stephane
2004-06-5, 20:58(+02), Rodolphe Mosca:
On 2004-06-05 15:48:57 +0200, Unknown <Unknown@devnull.null> said:
le problème c'est qui il y a aussi des espaces dans les noms que je ne
veux pas enlever...
s'ils sont à la fin tu fais :
var=`echo $var`
arggggg.... il me tue là... tu as oublié de rajouter : "tout simplement ;-)"
Sauf que...
- ca enleve aussi les tabulations et les sauts de lignes
- ca va deconner (voire deconner grave) s'il y a des wildcards
dans $var (par exemple, un petit denial of quality of service
voire plus grave avec /*/*/*/../../../*/*/*/../../../*/*/*)
- ca va deconner encore (differemment suivant la version de
echo) pour des var="-n", var='\ //\ //'
fix_var() {
IFS=" "
set -f
eval "set x $$1"
shift
eval "$1=$*"
}
myvar=" A B C "
fix_var myvar
le problème c'est qui il y a aussi des espaces dans les noms que je ne veux pas enlever...
s'ils sont à la fin tu fais : var=`echo $var`
arggggg.... il me tue là... tu as oublié de rajouter : "tout simplement ;-)"
Sauf que...
- ca enleve aussi les tabulations et les sauts de lignes - ca va deconner (voire deconner grave) s'il y a des wildcards dans $var (par exemple, un petit denial of quality of service voire plus grave avec /*/*/*/../../../*/*/*/../../../*/*/*) - ca va deconner encore (differemment suivant la version de echo) pour des var="-n", var=' // //'
fix_var() { IFS=" " set -f eval "set x $$1" shift eval "$1=$*" } myvar=" A B C " fix_var myvar
-- Stephane
Stephane Chazelas
2004-06-8, 13:16(+00), Stephane CHAZELAS: [...]
fix_var() { IFS=" " set -f eval "set x $$1" shift eval "$1=$*" } myvar=" A B C " fix_var myvar
Personne ne suit, apparemment. Il fallait lire:
fix_var() { _varname=$1 IFS=" " set -f eval "set x $$_varname" shift eval "$_varname=$*" } myvar=" A B C " fix_var myvar
-- Stephane
2004-06-8, 13:16(+00), Stephane CHAZELAS:
[...]
fix_var() {
IFS=" "
set -f
eval "set x $$1"
shift
eval "$1=$*"
}
myvar=" A B C "
fix_var myvar
Personne ne suit, apparemment. Il fallait lire:
fix_var() {
_varname=$1
IFS=" "
set -f
eval "set x $$_varname"
shift
eval "$_varname=$*"
}
myvar=" A B C "
fix_var myvar