Boucler sur les lignes d'un fichier texte (shell UNIX)

Boucler sur les lignes d'un fichier texte (shell UNIX) - Shell/Batch - Programmation

Marsh Posté le 11-05-2004 à 12:26:10    

Hello à tous  :hello:  
 
j'écrit un script UNIX Korn-Shell dans lequel je veux importer des données d'un fichier texte.
 
Ma question : comment peut-on boucler sur les différentes lignes du fichier ?
 
Merci  :jap:  

Reply

Marsh Posté le 11-05-2004 à 12:26:10   

Reply

Marsh Posté le 11-05-2004 à 13:15:07    

ca y est je pense que j'ai trouvé :
 
cat mon fichier | while true
do
  read ligne
  if ["$ligne" = ""]; then break; fi
  echo $ligne
done
 
 :ange:

Reply

Marsh Posté le 11-05-2004 à 21:11:18    

un peu plus simple (en bash, ça doit fonctionner en korn shell je pense) :


for ligne in `cat fichier`; do  
   ma_commande $ligne ;  
done


Message édité par Mjules le 11-05-2004 à 21:13:00

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 11-05-2004 à 21:22:23    

[:rofl]
http://rhols66.adsl.netsonic.fi/er [...] #backticks
 
while read f; do
     ...
 done <file

Reply

Marsh Posté le 11-05-2004 à 22:11:19    

si je comprend bien, il ne faut pas utiliser for dans ce cas mais while ?
 
parce que la dernière fois que j'ai essayé avec un while (même cas, pour lire les lignes d'un fichier), on m'a redirigé sur un for.


Message édité par Mjules le 11-05-2004 à 22:12:12

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 11-05-2004 à 22:14:01    

ben le for c'est pas adapté ... et dangereux


Message édité par Taz le 11-05-2004 à 22:24:10
Reply

Marsh Posté le 11-05-2004 à 22:19:07    

ok, c'est bon à savoir


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-05-2004 à 10:08:15    

j'ai essayé mon script avec while ca fonctionne bien
 
j'avais aussi pensé au début le faire avec une boucle for mais c'est effectivement pas conseilé

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed