ssh mon_serveur_esx "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
Premier souci : la commande ls apparaît dans le résultat ! Je ne
comprends pas bien pourquoi...
Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
grep :
ssh esx-supp-02.cnin.insee.fr "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk | grep -v 00000 ; do echo "${monfile}" ;
done"
Là, il me répond : ash: syntax error: "|" unexpected
Je suppose que les deux commandes devraient être un peu isolées mais je
ne vois pas comment...
ssh mon_serveur_esx "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
Premier souci : la commande ls apparaît dans le résultat ! Je ne
comprends pas bien pourquoi...
Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
grep :
ssh esx-supp-02.cnin.insee.fr "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk | grep -v 00000 ; do echo "${monfile}" ;
done"
Là, il me répond : ash: syntax error: "|" unexpected
Je suppose que les deux commandes devraient être un peu isolées mais je
ne vois pas comment...
ssh mon_serveur_esx "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
Premier souci : la commande ls apparaît dans le résultat ! Je ne
comprends pas bien pourquoi...
Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
grep :
ssh esx-supp-02.cnin.insee.fr "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk | grep -v 00000 ; do echo "${monfile}" ;
done"
Là, il me répond : ash: syntax error: "|" unexpected
Je suppose que les deux commandes devraient être un peu isolées mais je
ne vois pas comment...
Re,
On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
[...]ssh mon_serveur_esx "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"Premier souci : la commande ls apparaît dans le résultat ! Je ne
comprends pas bien pourquoi...
Ne serait-ce pas plutôt :
for monfile in $(ls MesVdmk.*)
do
...
done
pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
grep :
ssh esx-supp-02.cnin.insee.fr "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk | grep -v 00000 ; do echo
"${monfile}" ; done"
Là , il me répond : ash: syntax error: "|" unexpected
Je suppose que les deux commandes devraient être un peu isolée s mais
je ne vois pas comment...
En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
C'est mieux ?
Re,
On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
[...]
ssh mon_serveur_esx "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
Premier souci : la commande ls apparaît dans le résultat ! Je ne
comprends pas bien pourquoi...
Ne serait-ce pas plutôt :
for monfile in $(ls MesVdmk.*)
do
...
done
pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
grep :
ssh esx-supp-02.cnin.insee.fr "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk | grep -v 00000 ; do echo
"${monfile}" ; done"
Là , il me répond : ash: syntax error: "|" unexpected
Je suppose que les deux commandes devraient être un peu isolée s mais
je ne vois pas comment...
En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
C'est mieux ?
Re,
On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
[...]ssh mon_serveur_esx "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"Premier souci : la commande ls apparaît dans le résultat ! Je ne
comprends pas bien pourquoi...
Ne serait-ce pas plutôt :
for monfile in $(ls MesVdmk.*)
do
...
done
pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
grep :
ssh esx-supp-02.cnin.insee.fr "for monfile in ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk | grep -v 00000 ; do echo
"${monfile}" ; done"
Là , il me répond : ash: syntax error: "|" unexpected
Je suppose que les deux commandes devraient être un peu isolée s mais
je ne vois pas comment...
En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
C'est mieux ?
Le Fri, 4 May 2012 14:20:13 +0200,
"JF Straeten" a écrit :
>Re,
>On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
>[...]
>> ssh mon_serveur_esx "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
>
>> Premier souci : la commande ls apparaît dans le résultat ! Je ne
>> comprends pas bien pourquoi...
>
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dan s le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résulta ts
découpés dès qu'il voit un blanc !
Exemple :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation
De-flat.vmdk
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation De.vmdk
ssh mon_serveur_esx "for monfile in $(ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk) ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>> Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
>> grep :
>> ssh esx-supp-02.cnin.insee.fr "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk | grep -v 00000 ; do echo
>> "${monfile}" ; done"
>> Là, il me répond : ash: syntax error: "|" unexpected
>> Je suppose que les deux commandes devraient être un peu isolées ma is
>> je ne vois pas comment...
>
>En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
>
>C'est mieux ?
Comme je n'ai pas encore tout corrigé ;-)
David.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Le Fri, 4 May 2012 14:20:13 +0200,
"JF Straeten" <jfstraeten@scarlet.be> a écrit :
>Re,
>On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
>[...]
>> ssh mon_serveur_esx "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
>
>> Premier souci : la commande ls apparaît dans le résultat ! Je ne
>> comprends pas bien pourquoi...
>
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dan s le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résulta ts
découpés dès qu'il voit un blanc !
Exemple :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation
De-flat.vmdk
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation De.vmdk
ssh mon_serveur_esx "for monfile in $(ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk) ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>> Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
>> grep :
>> ssh esx-supp-02.cnin.insee.fr "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk | grep -v 00000 ; do echo
>> "${monfile}" ; done"
>> Là, il me répond : ash: syntax error: "|" unexpected
>> Je suppose que les deux commandes devraient être un peu isolées ma is
>> je ne vois pas comment...
>
>En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
>
>C'est mieux ?
Comme je n'ai pas encore tout corrigé ;-)
David.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20120504164001.651ffab5@debian-david
Le Fri, 4 May 2012 14:20:13 +0200,
"JF Straeten" a écrit :
>Re,
>On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
>[...]
>> ssh mon_serveur_esx "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
>
>> Premier souci : la commande ls apparaît dans le résultat ! Je ne
>> comprends pas bien pourquoi...
>
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dan s le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résulta ts
découpés dès qu'il voit un blanc !
Exemple :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation
De-flat.vmdk
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation De.vmdk
ssh mon_serveur_esx "for monfile in $(ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk) ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>> Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
>> grep :
>> ssh esx-supp-02.cnin.insee.fr "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk | grep -v 00000 ; do echo
>> "${monfile}" ; done"
>> Là, il me répond : ash: syntax error: "|" unexpected
>> Je suppose que les deux commandes devraient être un peu isolées ma is
>> je ne vois pas comment...
>
>En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
>
>C'est mieux ?
Comme je n'ai pas encore tout corrigé ;-)
David.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
bonjour,
et avec une syntaxe de ce style ?
ssh serveur 'for i in `ls /tmp/`;do echo $i;done'
les ' permettent de banaliser les caractères i.e. empêcher le sh ell
courant d'interpreter
les caractères spéciaux et notamment `et $
les ` permettent d'exécuter la commande ls /tmp et de renvoyer son
résultat au for.
Bruno
Le 4 mai 2012 16:40, David BERCOT a écrit :Le Fri, 4 May 2012 14:20:13 +0200,
"JF Straeten" a écrit :
>Re,
>On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
>[...]
>> ssh mon_serveur_esx "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
>
>> Premier souci : la commande ls apparaît dans le résultat ! Je ne
>> comprends pas bien pourquoi...
>
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est pr ésent dans le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les
résultats découpés dès qu'il voit un blanc !
Exemple :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation
De-flat.vmdk
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation De.vmdk
ssh mon_serveur_esx "for monfile in $(ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk) ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>> Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
>> grep :
>> ssh esx-supp-02.cnin.insee.fr "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk | grep -v 00000 ; do echo
>> "${monfile}" ; done"
>> Là , il me répond : ash: syntax error: "|" unexpected
>> Je suppose que les deux commandes devraient être un peu isolà ©es
>> mais je ne vois pas comment...
>
>En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
>
>C'est mieux ?
Comme je n'ai pas encore tout corrigé ;-)
David.
bonjour,
et avec une syntaxe de ce style ?
ssh serveur 'for i in `ls /tmp/`;do echo $i;done'
les ' permettent de banaliser les caractères i.e. empêcher le sh ell
courant d'interpreter
les caractères spéciaux et notamment `et $
les ` permettent d'exécuter la commande ls /tmp et de renvoyer son
résultat au for.
Bruno
Le 4 mai 2012 16:40, David BERCOT <debian@bercot.org> a écrit :
Le Fri, 4 May 2012 14:20:13 +0200,
"JF Straeten" <jfstraeten@scarlet.be> a écrit :
>Re,
>On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
>[...]
>> ssh mon_serveur_esx "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
>
>> Premier souci : la commande ls apparaît dans le résultat ! Je ne
>> comprends pas bien pourquoi...
>
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est pr ésent dans le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les
résultats découpés dès qu'il voit un blanc !
Exemple :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation
De-flat.vmdk
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation De.vmdk
ssh mon_serveur_esx "for monfile in $(ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk) ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>> Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
>> grep :
>> ssh esx-supp-02.cnin.insee.fr "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk | grep -v 00000 ; do echo
>> "${monfile}" ; done"
>> Là , il me répond : ash: syntax error: "|" unexpected
>> Je suppose que les deux commandes devraient être un peu isolà ©es
>> mais je ne vois pas comment...
>
>En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
>
>C'est mieux ?
Comme je n'ai pas encore tout corrigé ;-)
David.
bonjour,
et avec une syntaxe de ce style ?
ssh serveur 'for i in `ls /tmp/`;do echo $i;done'
les ' permettent de banaliser les caractères i.e. empêcher le sh ell
courant d'interpreter
les caractères spéciaux et notamment `et $
les ` permettent d'exécuter la commande ls /tmp et de renvoyer son
résultat au for.
Bruno
Le 4 mai 2012 16:40, David BERCOT a écrit :Le Fri, 4 May 2012 14:20:13 +0200,
"JF Straeten" a écrit :
>Re,
>On Fri, May 04, 2012 at 02:14:08PM +0200, David BERCOT wrote:
>[...]
>> ssh mon_serveur_esx "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
>
>> Premier souci : la commande ls apparaît dans le résultat ! Je ne
>> comprends pas bien pourquoi...
>
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est pr ésent dans le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les
résultats découpés dès qu'il voit un blanc !
Exemple :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation
De-flat.vmdk
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De/s47z038 - Test d'installation De.vmdk
ssh mon_serveur_esx "for monfile in $(ls
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk) ; do echo "${monfile}" ; done"
/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>> Ensuite, je souhaiterais supprimer certaines lignes en ajoutant un
>> grep :
>> ssh esx-supp-02.cnin.insee.fr "for monfile in ls
>> "/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
>> d'installation De"/*.vmdk | grep -v 00000 ; do echo
>> "${monfile}" ; done"
>> Là , il me répond : ash: syntax error: "|" unexpected
>> Je suppose que les deux commandes devraient être un peu isolà ©es
>> mais je ne vois pas comment...
>
>En corrigeant ci-dessus, ça devrait améliorer le grep aussi, non ?
>
>C'est mieux ?
Comme je n'ai pas encore tout corrigé ;-)
David.
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dans
le résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résultats
découpés dès qu'il voit un blanc !
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dans
le résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résultats
découpés dès qu'il voit un blanc !
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dans
le résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résultats
découpés dès qu'il voit un blanc !
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
et avec une syntaxe de ce style ?
ssh serveur 'for i in `ls /tmp/`;do echo $i;done'
les ' permettent de banaliser les caractères i.e. empêcher le shell
courant d'interpreter les caractères spéciaux et notamment `et $ les
` permettent d'exécuter la commande ls /tmp et de renvoyer son
résultat au for.
et avec une syntaxe de ce style ?
ssh serveur 'for i in `ls /tmp/`;do echo $i;done'
les ' permettent de banaliser les caractères i.e. empêcher le shell
courant d'interpreter les caractères spéciaux et notamment `et $ les
` permettent d'exécuter la commande ls /tmp et de renvoyer son
résultat au for.
et avec une syntaxe de ce style ?
ssh serveur 'for i in `ls /tmp/`;do echo $i;done'
les ' permettent de banaliser les caractères i.e. empêcher le shell
courant d'interpreter les caractères spéciaux et notamment `et $ les
` permettent d'exécuter la commande ls /tmp et de renvoyer son
résultat au for.
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dans le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résultats
découpés dès qu'il voit un blanc !
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dans le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résultats
découpés dès qu'il voit un blanc !
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est présent dans le
résultat).
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les résultats
découpés dès qu'il voit un blanc !
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est pr ésent dans
le résultat).
'tention... je croyais que le "ls" était simplifié dans l'exempl e,
mais que tu utilisais en réalité des switches pour lister les fi chiers
d'une manière particulière. (Genre ls -lth pour avoir une liste
longue, human readable et temporellement inversée.)
Si c'est juste un 'ls', alors oui, autant utiliser les jokers du shell
et ne pas lancer un sous-processus pour rien ;)
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les
résultats découpés dès qu'il voit un blanc !
Mmmm... non, la construction avec $() (dollar + parenthèses) servait Ã
récupérer le résultat de la commande placée dedans. Po ur protéger la
variable, il faut ${} (dollar + accolades). D'ailleurs, c'est ce que
tu fais ci-dessous :ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
[...]-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
Il y a des espaces dans les noms de tes .vmdk ?
Tu saurais coller un ls -l du répertoire qui les contient, avec le
path absolu ?
Il y a un truc que je ne pige pas à mon avis...
@David : tu ne sais pas scripter le traitement des .vmdk, et appeler
le script par ssh, pour voir ce que ça donne ?
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?
Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est pr ésent dans
le résultat).
'tention... je croyais que le "ls" était simplifié dans l'exempl e,
mais que tu utilisais en réalité des switches pour lister les fi chiers
d'une manière particulière. (Genre ls -lth pour avoir une liste
longue, human readable et temporellement inversée.)
Si c'est juste un 'ls', alors oui, autant utiliser les jokers du shell
et ne pas lancer un sous-processus pour rien ;)
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les
résultats découpés dès qu'il voit un blanc !
Mmmm... non, la construction avec $() (dollar + parenthèses) servait Ã
récupérer le résultat de la commande placée dedans. Po ur protéger la
variable, il faut ${} (dollar + accolades). D'ailleurs, c'est ce que
tu fais ci-dessous :
ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
[...]
-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
Il y a des espaces dans les noms de tes .vmdk ?
Tu saurais coller un ls -l du répertoire qui les contient, avec le
path absolu ?
Il y a un truc que je ne pige pas à mon avis...
@David : tu ne sais pas scripter le traitement des .vmdk, et appeler
le script par ssh, pour voir ce que ça donne ?
>Ne serait-ce pas plutôt :
>for monfile in $(ls MesVdmk.*)
>do
>...
>done
>pour distribuer ta boucle sur *ce que renvoie* d'ls ?Alors, tout d'abord, le "ls" est effectivement superflu dans ma
première écriture (c'est d'ailleurs pour ça qu'il est pr ésent dans
le résultat).
'tention... je croyais que le "ls" était simplifié dans l'exempl e,
mais que tu utilisais en réalité des switches pour lister les fi chiers
d'une manière particulière. (Genre ls -lth pour avoir une liste
longue, human readable et temporellement inversée.)
Si c'est juste un 'ls', alors oui, autant utiliser les jokers du shell
et ne pas lancer un sous-processus pour rien ;)
Après, je suis d'accord sur l'écriture for monfile in $()..., sauf
qu'il faut protéger le $. Mais bizarrement, il me renvoie les
résultats découpés dès qu'il voit un blanc !
Mmmm... non, la construction avec $() (dollar + parenthèses) servait Ã
récupérer le résultat de la commande placée dedans. Po ur protéger la
variable, il faut ${} (dollar + accolades). D'ailleurs, c'est ce que
tu fais ci-dessous :ssh mon_serveur_esx "for monfile in
"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
d'installation De"/*.vmdk ; do echo "${monfile}" ; done"
[...]-
Test
d'installation
De/s47z038
-
Test
d'installation
De-flat.vmdk
[...]
Il y a des espaces dans les noms de tes .vmdk ?
Tu saurais coller un ls -l du répertoire qui les contient, avec le
path absolu ?
Il y a un truc que je ne pige pas à mon avis...
@David : tu ne sais pas scripter le traitement des .vmdk, et appeler
le script par ssh, pour voir ce que ça donne ?
>Il y a des espaces dans les noms de tes .vmdk ?
En effet :-(
>Il y a des espaces dans les noms de tes .vmdk ?
En effet :-(
>Il y a des espaces dans les noms de tes .vmdk ?
En effet :-(
Et comme résultat, j'ai des retours à la ligne à chaque "n " ;-) :
Et comme résultat, j'ai des retours à la ligne à chaque "n " ;-) :
Et comme résultat, j'ai des retours à la ligne à chaque "n " ;-) :