Comment faire pour que chaque indice du tableau LIST correpondent
à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si
j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien
essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change
rien. Une idée ? PS: Je travail avec le zsh.
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
Pascal Bourguignon
writes:
Comment faire pour que chaque indice du tableau LIST correpondent à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change rien. Une idée ? PS: Je travail avec le zsh.
Il faut mettre des parentheses pour avoir des tableaux. (en bash; c'est peut être pareil en zsh)
LIST=(`find /usr/local/share/texmf -type f -name "*.dvi" -print`)
Mais s'il y a des fichiers avec des espaces dans les noms (des caractères de $IFS plus exactement), ça se gâte.
(Quitte à mettre des parentheses, autant passer à lisp tout de suite...)
There is no worse tyranny than to force a man to pay for what he does not want merely because you think it would be good for him. -- Robert Heinlein
frederic@askme.fr writes:
Comment faire pour que chaque indice du tableau LIST correpondent
à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si
j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien
essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change
rien. Une idée ? PS: Je travail avec le zsh.
Il faut mettre des parentheses pour avoir des tableaux.
(en bash; c'est peut être pareil en zsh)
LIST=(`find /usr/local/share/texmf -type f -name "*.dvi" -print`)
Mais s'il y a des fichiers avec des espaces dans les noms (des
caractères de $IFS plus exactement), ça se gâte.
(Quitte à mettre des parentheses, autant passer à lisp tout de suite...)
Comment faire pour que chaque indice du tableau LIST correpondent à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change rien. Une idée ? PS: Je travail avec le zsh.
Il faut mettre des parentheses pour avoir des tableaux. (en bash; c'est peut être pareil en zsh)
LIST=(`find /usr/local/share/texmf -type f -name "*.dvi" -print`)
Mais s'il y a des fichiers avec des espaces dans les noms (des caractères de $IFS plus exactement), ça se gâte.
(Quitte à mettre des parentheses, autant passer à lisp tout de suite...)
There is no worse tyranny than to force a man to pay for what he does not want merely because you think it would be good for him. -- Robert Heinlein
Stephane Chazelas
2004-06-21, 01:02(+02), :
Comment faire pour que chaque indice du tableau LIST correpondent à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change rien. Une idée ? PS: Je travail avec le zsh. [...]
En zsh:
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera pas avec tous les noms de fichiers, tu peux faire :
LIST=(${(ps: :)"$( find /usr/local/share/texmf -type f -name "*.dvi" -print0 )"})
-- Stephane
2004-06-21, 01:02(+02), frederic@askme.fr:
Comment faire pour que chaque indice du tableau LIST correpondent
à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si
j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien
essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change
rien. Une idée ? PS: Je travail avec le zsh.
[...]
En zsh:
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera
pas avec tous les noms de fichiers, tu peux faire :
Comment faire pour que chaque indice du tableau LIST correpondent à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change rien. Une idée ? PS: Je travail avec le zsh. [...]
En zsh:
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera pas avec tous les noms de fichiers, tu peux faire :
LIST=(${(ps: :)"$( find /usr/local/share/texmf -type f -name "*.dvi" -print0 )"})
-- Stephane
Frédéric
In article, Stephane Chazelas wrote:
2004-06-21, 01:02(+02), :
Comment faire pour que chaque indice du tableau LIST correpondent à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change rien. Une idée ? PS: Je travail avec le zsh. [...]
En zsh:
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera pas avec tous les noms de fichiers, tu peux faire :
Tu me conseille quoi alors à la place de find ?
[...]
-- Frédéric
In article, Stephane Chazelas wrote:
2004-06-21, 01:02(+02), frederic@askme.fr:
Comment faire pour que chaque indice du tableau LIST correpondent
à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si
j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien
essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change
rien. Une idée ? PS: Je travail avec le zsh.
[...]
En zsh:
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera
pas avec tous les noms de fichiers, tu peux faire :
Comment faire pour que chaque indice du tableau LIST correpondent à un chemin et non pas à un caractère.
j'ai:
LIST=`find /usr/local/share/texmf -type f -name "*.dvi" -print` si j'évalue: echo ${LIST[0]} j'ai / ; echo ${LIST[1]} u etc. J'ai bien essayé de modifier la valeur de IFS en IFS='^.*$' mais cela ne change rien. Une idée ? PS: Je travail avec le zsh. [...]
En zsh:
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera pas avec tous les noms de fichiers, tu peux faire :
Tu me conseille quoi alors à la place de find ?
[...]
-- Frédéric
Stephane Chazelas
2004-06-21, 09:49(+00), Frédéric: [...]
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera pas avec tous les noms de fichiers, tu peux faire :
Tu me conseille quoi alors à la place de find ?
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
**/* fait une descente recursive. (.) est l'equivalent du "-type f", (N) est pour autoriser une liste vide, tu peux vouloir rajouter (D) pour inclure les fichiers cachés (dotfiles):
LIST=( /usr/local/share/texmf/**/*.dvi(.DN) )
Voir:
info -f zsh -n 'Filename Generation'
-- Stephane
2004-06-21, 09:49(+00), Frédéric:
[...]
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
Si tu tiens a utiliser find, mais alors ton script ne marchera
pas avec tous les noms de fichiers, tu peux faire :
Tu me conseille quoi alors à la place de find ?
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
**/* fait une descente recursive. (.) est l'equivalent du "-type
f", (N) est pour autoriser une liste vide, tu peux vouloir
rajouter (D) pour inclure les fichiers cachés (dotfiles):
Si tu tiens a utiliser find, mais alors ton script ne marchera pas avec tous les noms de fichiers, tu peux faire :
Tu me conseille quoi alors à la place de find ?
LIST=( /usr/local/share/texmf/**/*.dvi(.N) )
**/* fait une descente recursive. (.) est l'equivalent du "-type f", (N) est pour autoriser une liste vide, tu peux vouloir rajouter (D) pour inclure les fichiers cachés (dotfiles):
LIST=( /usr/local/share/texmf/**/*.dvi(.DN) )
Voir:
info -f zsh -n 'Filename Generation'
-- Stephane
Rakotomandimby Mihamina
Y a rien a dire, tu m'epatera tou-jours ... Je comprends pas comment t'as fait pour savoir ce que tu sais. Ne me dis pas que t'as lu ET compris tout le man (ou info) de zsh ? Le truc c'est que je me dis :"Si li y arrive, je le peux aussi" ... ben non... je le peux pas .... ;-) Moi je le dis ici, si je te vois dans la rue, je me baisse jusqu'a terre a ton passage ... -- Rakotomandimby Mihamina Andrianifaharana Tel : +33 2 38 76 43 65 http://stko.dyndns.info/site_principal/Members/mihamina
Y a rien a dire, tu m'epatera tou-jours ...
Je comprends pas comment t'as fait pour savoir ce que tu sais.
Ne me dis pas que t'as lu ET compris tout le man (ou info) de zsh ?
Le truc c'est que je me dis :"Si li y arrive, je le peux aussi" ... ben
non... je le peux pas .... ;-)
Moi je le dis ici, si je te vois dans la rue, je me baisse jusqu'a terre
a ton passage ...
--
Rakotomandimby Mihamina Andrianifaharana
Tel : +33 2 38 76 43 65
http://stko.dyndns.info/site_principal/Members/mihamina
Y a rien a dire, tu m'epatera tou-jours ... Je comprends pas comment t'as fait pour savoir ce que tu sais. Ne me dis pas que t'as lu ET compris tout le man (ou info) de zsh ? Le truc c'est que je me dis :"Si li y arrive, je le peux aussi" ... ben non... je le peux pas .... ;-) Moi je le dis ici, si je te vois dans la rue, je me baisse jusqu'a terre a ton passage ... -- Rakotomandimby Mihamina Andrianifaharana Tel : +33 2 38 76 43 65 http://stko.dyndns.info/site_principal/Members/mihamina
Ne me dis pas que t'as lu ET compris tout le man (ou info) de zsh ? [...]
Il n'y a besoin de quasi rien savoir pour utiliser zsj, vu que tout ce qui s'applique a sh ou bash s'applique aussi a zsh. zsh est plus facile a apprendre dans la mesure ou il a corrigé la plupart des erreurs de design du Bourne shell qui font que ce dernier apparaissent deconcertant a un debutant.
Pour ce qui est des power-fonctionnalités de zsh, on peut les decouvrir au fur et a mesure.
La "filename generation" en est une a decouvrir en premier vu son intérêt. Je m'en sers en permanence. C'est peut-etre la premiere des fonctionnalités de zsh qui ferait que je ne pourrais pas l'echanger contre deux barils de bash ou ksh.
Ne me dis pas que t'as lu ET compris tout le man (ou info) de zsh ?
[...]
Il n'y a besoin de quasi rien savoir pour utiliser zsj, vu que
tout ce qui s'applique a sh ou bash s'applique aussi a zsh. zsh
est plus facile a apprendre dans la mesure ou il a corrigé la
plupart des erreurs de design du Bourne shell qui font que ce
dernier apparaissent deconcertant a un debutant.
Pour ce qui est des power-fonctionnalités de zsh, on peut les
decouvrir au fur et a mesure.
La "filename generation" en est une a decouvrir en premier vu
son intérêt. Je m'en sers en permanence. C'est peut-etre la
premiere des fonctionnalités de zsh qui ferait que je ne
pourrais pas l'echanger contre deux barils de bash ou ksh.
Ne me dis pas que t'as lu ET compris tout le man (ou info) de zsh ? [...]
Il n'y a besoin de quasi rien savoir pour utiliser zsj, vu que tout ce qui s'applique a sh ou bash s'applique aussi a zsh. zsh est plus facile a apprendre dans la mesure ou il a corrigé la plupart des erreurs de design du Bourne shell qui font que ce dernier apparaissent deconcertant a un debutant.
Pour ce qui est des power-fonctionnalités de zsh, on peut les decouvrir au fur et a mesure.
La "filename generation" en est une a decouvrir en premier vu son intérêt. Je m'en sers en permanence. C'est peut-etre la premiere des fonctionnalités de zsh qui ferait que je ne pourrais pas l'echanger contre deux barils de bash ou ksh.