script test boucle while

script test boucle while - Linux et OS Alternatifs

Marsh Posté le 02-09-2004 à 11:54:28    

bonjour, j'aurais besoin d'aide pour l'écriture d'un script bash linux.
J'écris un script et le test de ma boucle while ne fonctionne pas.
 
voici le script raccourci
 
#! /bin/bash
Compteur=0
Ligne=" "
while [ "$Ligne" != "FIN" ]; do
  echo "$Ligne"
  let $[ Compteur += 1 ]
  Ligne=`head -$Compteur /home/Liste_Sauvegarde | tail -1`
done
 
Dans le fichier Liste_Sauvegarde (fichier texte) il y a, à un moment, une ligne parmi d'autre où il y a le texte FIN. La boucle m'affiche les lignes du fichier mais ne s'arrête jamais. Mon problème est que je ne trouve pas la façon d'ecrire le test de while pour que lorsque le programme arrive a la ligne FIN, il sort de la boucle while.
aidez moi SVP

Reply

Marsh Posté le 02-09-2004 à 11:54:28   

Reply

Marsh Posté le 02-09-2004 à 12:17:37    

peut-être que ton "FIN" dans ton fichier est suivit d'un carractère spécial (retour à la ligne par exaemple)
donc Ligne ne vaut jammais "FIN" mais "FIN\n"
Enfin c'est une piste, sinon je ne vois pas...


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 02-09-2004 à 14:37:20    

utilise plutôt awk ;)


cat fichier | awk '
  /^FIN$/ {exit /* on sort au mot FIN seul sur une ligne */};
  {print /* traitements ici */};'

Reply

Sujets relatifs:

Leave a Replay

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