|
Sujet : [ALGO] Lire les n dernières lignes d'un fichier texte |
| mareek |
kadreg a écrit a écrit :
Mareek> le fichier lu est un log qui fait aujourd'hui 14Mo (300 000 lignes si ma mémoire est bonne), généralement, ce sont les 10/20/100 ou 1000 dernières lignes qui m'interressent, avec toutes ces méthodes je me tape la lecture de tout le fichier et cela ne me va pas (beaucoup trop long).
Ce que fait GNU/tail, c'est qu'il utilise un tampon de 8Ko. Après l'ouverture du fichier il fait un seek sur (taille du fichier - 8Ko) et cherche les dernières lignes ici. Si cela ne suffit pas, il rajoute les 8Ko précédent afin de rajouter des lignes, et ainsi de suite jusqu'a avoir les n lignes. Il y a une petite gymnastique à faire pour la ligne coupée en deux par la fenetre, mais cette méthode me semble etre la plus efficace pour faire ce que je fait.
|
Pas de prob, j'a vais pas vu ta réponse précédente (et je ne connais pas tail dailleurs). Je répondais juste d'un point de vue algorithmique.
sur ce, je vais bouffer.
bonne chance pou la suite :hello: |