|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 142 ![]() |
Bonjour,
Dans un ficher j'ai une liste de chemin d'accès pour d'autre fichiers et je cherche à récupérer dans une variable ce chemin pour ça j'utilise la commande Code :
Code :
read: « screening_1/screening_00_00 » : identifiant non valable
Quelqu'un aurait il une solution merci. |
||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 20 ![]() |
Enleve le $ sur la ligne du while
"more +2 geom_to_check | while read line" |
|
|
00
|
|
|
#3 | ||
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 974 ![]() |
Salut.
T'as essayé avec autre chose que more +2 ? Sinon, avec un for ? Code :
Idriss |
||
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 142 ![]() |
le more +2 c'est parce que je ne veux pas de la première ligne.
Merci c'est effectivement le $ligne qui posait problème. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 142 ![]() |
Alors maintenant j'ai un autre soucis, il s'arrête pas à la fin du fichier.
|
|
|
00
|
|
|
#6 | ||
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 974 ![]() |
Toujours avec while ?
Si oui tu peut faire comme ceci Code :
|
||
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 142 ![]() |
Bah au début c'est ce que je voulais faire utiliser for mais je voyait pas comment,
en fait pour voir le problème dans l'ensemble : J'ai des fichiers qui contiennent des géométries et j'ai un script qui évalue si les géométries sont les mêmes. Donc dans un premier temps le script vérifie que le calcul a convergé si c'est le cas il écrit dans un fichier tout les chemins pour les job achevé correctement. Donc j'ai un fichier avec toutes les géométries que je veux comparer entre elle. je connais le nombre de ligne puisque j'ai créé le fichier. Ce que j'arrive pas à faire c'est Prendre la première ligne comme ref pour toutes les autres lignes du fichier je fais la comparaison des géométries pareil pas pareil. et je fais un fichier qui contient toutes celles qui ne sont pas semblable à la première ligne. A partir de ce nouveau fichier je veux refaire l'étape précédente. J'espère que l'explication est claire. |
|
|
00
|
|
|
#8 | ||
|
Membre éclairé
![]() Lilian HeraultArchitecte technique Inscription : juin 2010 Messages : 215 ![]() |
Bonjour,
Tu ne peux pas utiliser ton while read de cette manière en ligne de commande après un |. Essais avec ceci: Code :
Lilian. |
||
|
|
00
|
|
|
#9 | |||
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 20 ![]() |
Citation:
|
|||
|
|
10
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 142 ![]() |
oui chez moi aussi ça fonctionne bien
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
ça fonctionnera toujours sur KSH et BASH
|
|
|
10
|
|
|
#12 |
|
Membre éclairé
![]() Lilian HeraultArchitecte technique Inscription : juin 2010 Messages : 215 ![]() |
Alors ... désolé, chez moi ça ne fonctionne pas.
Lilian. |
|
|
00
|
|
|
#13 | ||
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 974 ![]() |
Ben chez moi aussi ça marche (Bash)
...@ lilian_h : tu utilises quel shell ? Qu'elle distribution ? Qu'elle version ? ça marche dans un script avec le bon shebang ? Code :
Cordialement, Idriss |
||
|
00
|
|
|
#14 |
|
Membre éclairé
![]() Lilian HeraultArchitecte technique Inscription : juin 2010 Messages : 215 ![]() |
Ok, évidement ça marche dans un script .... C'est moi qui n'ai rien compris à la demande de départ.
Je ne sais pas comment j'ai fait, mais j'avais cru comprendre que la question concernait la ligne de commande ... désolé. Lilian. |
|
|
00
|
|
|
#15 | |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 974 ![]() |
Citation:
(ou du moins Bash, Dash, Ksh et Zsh avec lesquels j'ai testé) ... Cela fonctionne très bien par exemple :Code :
[ ~] cat fichier | while read ligne; do echo $ligne; done; Cordialement, Idriss |
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Lilian HeraultArchitecte technique Inscription : juin 2010 Messages : 215 ![]() |
Ca alors ! On l'en apprend tous les jours !!!
Depuis la nuit des temps je m'entête à mettre les { et } pour mes while en ligne de commande ... pour rien ! Merci ! ![]() Lilian. |
|
|
00
|
|
|
#17 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 974 ![]() |
Mise à part dans les fonctions, je ne met jamais d'accolades pour délimiter des blocs d'instructions en Bash
(il y a déjà les délimiteurs then/fi, do/done, etc).
|
|
00
|
|
|
#18 | ||||||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 064 ![]() |
en fait les accolades ont leur utilité : un pipe créant un sous-shell, les variables qui y sont assignées ne sont pas disponible en dehors :
Code :
Code :
Code :
|
||||||
|
|
10
|
|
|
#19 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 974 ![]() |
N_BaH le roi du Bash a parlé
![]() pour tes explications.
|
|
00
|
|
|
#20 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 142 ![]() |
@ ok.Idriss
Oui la commande fonctionne parfaitement. Mais j'ai finalement suivit ton conseil et mon avis personnel avant que je n'en vienne à l'idée du while c'est a dire utiliser un for Je pense avoir trouver une façon de faire, mon problème majeur c'est que j'avais plein de bout de script que j'avais déjà écrit et c'est tout faire fonctionné ensemble qui me pose/(posait j'espère) problème alors j'ai pris un exemple plus simple et j'ai fait un script qui fonctionne maintenant je vais adapter en partant de ce que j'ai compris. @N_BaH j'aime bien quand tu postes parce que le : un script correct est rarement (voire n'est jamais) écrit d'un seul jet !! me réconforte toujours beaucoup ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com