Re: lire ds un fichier (en bash)

Top Page

Reply to this message
Author: Jean-Pierre Morin
Date:  
To: guilde
Subject: Re: lire ds un fichier (en bash)
Le Jeudi 16 Octobre 2003 09:47, cly@??? a écrit :
> Sylvain.Pogodalla@??? wrote:
> > Bonjour,
> >
> >     Julien> Bonjour, je suis en train de faire un petit script bash,
> >     Julien> et j'ai besoin soit de lire ligne par ligne un fichier
> >     Julien> soit de mettre tout le fichier directement dans une
> >     Julien> variable.  Cependant, 'read ma_var < mon_fichier' ne me
> >     Julien> mets que la première ligne et je n'arrive pas à aller plus
> >     Julien> loin dans la lecture. Comment dois je faire ?

> >
> > Ça dépend aussi un peu de ce que tu veux faire avec les lignes que tu
> > lis, mais il est possible que
> > cat mon_fichier | xargs ma_commande
> > convienne.
>
> En bash, il faut faire
> cat mon_fichier | while read ma_var
> do
> ...
> done
>
>
> Christophe.


Oui, ca marche mais avec un inconvenient.
Le "while" crée un sous-shell, ce qui fait que toutes les variables créees
ou modifiées dans la boucle do-done ne seront pas accessibles lorsqu'on
sera sorti de la boucle du while.
Selon ce qu'on veut faire, c'est très génant.

JPM