Comptage du nombre de lignes lues dans une boucle while

Résolu
Bonjour à tous et toutes,

Je souhaite faire une boucle shell afin de lire un fichier.
Cependant, les fichiers que je traitent sont importants, et je souhaiterais mettre en place un témoin qui m'informe de l'avancée de la lecture du fichier.

Ma boucle est simple :

while read Ligne
do
..... ACTION .....
done < fichier.txt > resultat.txt

Cependant, je souhaiterais faire apparaitre dans ma console un témoin du style

Lecture ligne :10000
Lecture ligne : 20000
Lecture ligne : 30000
etc.

donc, à chaque lecture de 10000 lignes et cela au fur et à mesure de la lecture du fichier.

Pouvez - vous m'aider, s'il vous plait ?

Merci d'avance.

3 réponses

  1. Contributeur
    Salut,

    Une façon de faire...

    #!/bin/bash

    reg="^[1-9][0-9]*0{4,}$"
    cpt=1


    while read Ligne
    do
    ..... ACTION .....

    [[ ${cpt} =~ ${reg} ]] && echo "Lecture ligne ${cpt}"
    ((cpt++))


    done < fichier.txt > resultat.txt

    0
    1. Contributeur
      hello
      avec modulo
      c=1
      while read Ligne
      do
      ..... ACTION .....
      [[ $((c++ % 10000)) -eq 0 ]] && echo ligne:$c
      done < fichier.txt > resultat.txt
      0
      1. Bonjour,
        Merci Zipe31 et dubcek.
        Ca marche ;-) !
        0