Comptage du nombre de lignes lues dans une boucle while

Résolu
sps35 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
sps35 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
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

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
avec modulo
c=1
while read Ligne
do
..... ACTION .....
[[ $((c++ % 10000)) -eq 0 ]] && echo ligne:$c
done < fichier.txt > resultat.txt
0
sps35 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Merci Zipe31 et dubcek.
Ca marche ;-) !
0