Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Je vais dire certainement une grosse bêtise, mais ça :
for DIR in "${LISTE}"
ça ne suffirait pas ? (pas testé, j'avoue)
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Olivier Marti <olivier.marti@ensta.org> wrote:
Mais dans ma liste de répertoire certains noms contiennent des blancs.
Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Je vais dire certainement une grosse bêtise, mais ça :
for DIR in "${LISTE}"
ça ne suffirait pas ? (pas testé, j'avoue)
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Je vais dire certainement une grosse bêtise, mais ça :
for DIR in "${LISTE}"
ça ne suffirait pas ? (pas testé, j'avoue)
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
olivier.marti
Laurent Pertois wrote:
Olivier Marti wrote:
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Je vais dire certainement une grosse bêtise, mais ça :
Oui ;-)
for DIR in "${LISTE}"
ça ne suffirait pas ? (pas testé, j'avoue)
Il prend tout LISTE pour un seul mot. Il ne découpe plus du tout ... !!!
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%, « Olivier Marti » a écrit :
Je souhaite travailler sur une liste de répertoires, avec un script ksh du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE} do cd "${DIR}" ...
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR do cd "$DIR" ...
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
laurent.pertois
Olivier Marti wrote:
ça ne suffirait pas ? (pas testé, j'avoue)
Il prend tout LISTE pour un seul mot. Il ne découpe plus du tout ... !!!
Ah ben voilà, ça m'apprendra à ne pas tester :-D
Désolé, je débute...
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Olivier Marti <olivier.marti@ensta.org> wrote:
ça ne suffirait pas ? (pas testé, j'avoue)
Il prend tout LISTE pour un seul mot. Il ne découpe plus du tout ... !!!
Ah ben voilà, ça m'apprendra à ne pas tester :-D
Désolé, je débute...
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Il prend tout LISTE pour un seul mot. Il ne découpe plus du tout ... !!!
Ah ben voilà, ça m'apprendra à ne pas tester :-D
Désolé, je débute...
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
patpro ~ patrick proniewski
In article <1hyj35k.1pggsu11lf0nkxN%, (Laurent Pertois) wrote:
Olivier Marti wrote:
ça ne suffirait pas ? (pas testé, j'avoue)
Il prend tout LISTE pour un seul mot. Il ne découpe plus du tout ... !!!
Ah ben voilà, ça m'apprendra à ne pas tester :-D
Désolé, je débute...
a mon avis, le plus simple c'est --exec dans le find.
patpro
-- http://www.patpro.net/
In article <1hyj35k.1pggsu11lf0nkxN%laurent.pertois@alussinan.org>,
laurent.pertois@alussinan.org (Laurent Pertois) wrote:
Olivier Marti <olivier.marti@ensta.org> wrote:
ça ne suffirait pas ? (pas testé, j'avoue)
Il prend tout LISTE pour un seul mot. Il ne découpe plus du tout ... !!!
Ah ben voilà, ça m'apprendra à ne pas tester :-D
Désolé, je débute...
a mon avis, le plus simple c'est --exec dans le find.
find . -type d -print | while read DIR do cd "$DIR" ...
ha ho, bien vu, m'apprendra à réfléchir ça.
patpro
-- http://www.patpro.net/
laurent.pertois
patpro ~ patrick proniewski wrote:
a mon avis, le plus simple c'est --exec dans le find.
Ca, j'y ai bien pensé en voyant ce que proposait Èric mais comme je me suis gaufré une fois, je me le suis gardé :-D
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
patpro ~ patrick proniewski <patpro@boleskine.patpro.net> wrote:
a mon avis, le plus simple c'est --exec dans le find.
Ca, j'y ai bien pensé en voyant ce que proposait Èric mais comme je me
suis gaufré une fois, je me le suis gardé :-D
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
a mon avis, le plus simple c'est --exec dans le find.
Ca, j'y ai bien pensé en voyant ce que proposait Èric mais comme je me suis gaufré une fois, je me le suis gardé :-D
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
filh
Eric Levenez wrote:
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%,
Je souhaite travailler sur une liste de répertoires, avec un script ksh du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE} do cd "${DIR}" ...
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR do cd "$DIR" ...
Je ferais du genre do (cd "*DIR" ....
) Histoire de revenir au répertoire de départ avant le prochain cd...
FiLH
-- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Roland Barthes. http://www.filh.org
Eric Levenez <news@levenez.com> wrote:
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%olivier.marti@ensta.org>,
Je souhaite travailler sur une liste de répertoires, avec un script ksh
du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE}
do
cd "${DIR}"
...
Mais dans ma liste de répertoire certains noms contiennent des blancs.
Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR
do
cd "$DIR"
...
Je ferais du genre
do
(cd "*DIR"
....
)
Histoire de revenir au répertoire de départ avant le prochain cd...
FiLH
--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%,
Je souhaite travailler sur une liste de répertoires, avec un script ksh du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE} do cd "${DIR}" ...
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR do cd "$DIR" ...
Je ferais du genre do (cd "*DIR" ....
) Histoire de revenir au répertoire de départ avant le prochain cd...
FiLH
-- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Roland Barthes. http://www.filh.org
olivier.marti
Laurent Pertois wrote:
patpro ~ patrick proniewski wrote:
a mon avis, le plus simple c'est --exec dans le find.
Ca, j'y ai bien pensé en voyant ce que proposait Èric mais comme je me suis gaufré une fois, je me le suis gardé :-D
--exec c'est pour faire une commande simple derrière, type rm, file, etc ... Mais si on a beaucoup de choses à faire derrière ?
a mon avis, le plus simple c'est --exec dans le find.
Ca, j'y ai bien pensé en voyant ce que proposait Èric mais comme je me suis gaufré une fois, je me le suis gardé :-D
--exec c'est pour faire une commande simple derrière, type rm, file, etc ... Mais si on a beaucoup de choses à faire derrière ?
Olivier
olivier.marti
Eric Levenez wrote:
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%,
Je souhaite travailler sur une liste de répertoires, avec un script ksh du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE} do cd "${DIR}" ...
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR do cd "$DIR" ...
Il ne se passe rien :
#!/bin/ksh find . -type d -print | while read DIR do echo "$DIR" cd "${DIR}" pwd done + read DIR + find . -type d -print
Comprend pas ... J'ai fait quelques essais avec des parenthèses, des redirections, etc ... Rien ne marche !!! (même avec des répertoires blanc dans le nom).
Bon, "Unix dans sa coquille de noix" est resté au boulot ....
Olivier
Eric Levenez <news@levenez.com> wrote:
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%olivier.marti@ensta.org>,
Je souhaite travailler sur une liste de répertoires, avec un script ksh
du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE}
do
cd "${DIR}"
...
Mais dans ma liste de répertoire certains noms contiennent des blancs.
Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR
do
cd "$DIR"
...
Il ne se passe rien :
#!/bin/ksh
find . -type d -print | while read DIR
do
echo "$DIR"
cd "${DIR}"
pwd
done
+ read DIR
+ find . -type d -print
Comprend pas ... J'ai fait quelques essais avec des parenthèses, des
redirections, etc ... Rien ne marche !!! (même avec des répertoires
blanc dans le nom).
Bon, "Unix dans sa coquille de noix" est resté au boulot ....
Le 22/05/07 15:39, dans <1hyitvv.143aqhi1iu7rm9N%,
Je souhaite travailler sur une liste de répertoires, avec un script ksh du genre :
LISTE=$( find . -type d -print )
for DIR in ${LISTE} do cd "${DIR}" ...
Mais dans ma liste de répertoire certains noms contiennent des blancs. Le 'for' les considère comme des séparateurs, et ça ne vas pas du tout !
Comment faire ?
Je ferais un truc du genre :
find . -type d -print | while read DIR do cd "$DIR" ...
Il ne se passe rien :
#!/bin/ksh find . -type d -print | while read DIR do echo "$DIR" cd "${DIR}" pwd done + read DIR + find . -type d -print
Comprend pas ... J'ai fait quelques essais avec des parenthèses, des redirections, etc ... Rien ne marche !!! (même avec des répertoires blanc dans le nom).
Bon, "Unix dans sa coquille de noix" est resté au boulot ....