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