Re: bash : "while :"

Page principale

Répondre à ce message
Auteur: jeanluc
Date:  
À: guilde
Sujet: Re: bash : "while :"
Le Lundi 21 Mars 2005 19:43, anne aublanc a écrit :
> bonjour,
>
> while :
> do
>         _end=`wc -l < "${_file}"`
>         _end="${_end##* }"
>         if (( ${_end} > ${_start} ))
>         then
>                 _start=$(($_start + 1 ))
>                 sed -n "${_start},${_end}p" "${_file}" | grep "${_pat}" >> 
> $LOG
>                 _start=${_end}
>         fi
>         sleep 1
> done

>
> Je n'arrive pas à comprendre ce que cela fait ce "while :"
> Le ":" correspond à quoi?


imprime les lignes du fichier $_file,
lignes qui sont comprises entre la ligne $_start et la fin du fichier
et qui de plus ont le patern $_pat dans la ligne.
"Imprime" n'est pas tout à fait juste, il faut lire "redirige" le
résultat vers le fichier $LOG

C'est a dire, en plus simple  :
    tail --lines +${_start} ${_file} |grep ${_pat} >> $LOG


sauf que, en plus, grace au while qui ne sert à rien,
on reboucle à l'infini.


--
Jean-Luc