Comment lire un fichier ligne à ligne en commençant par la fin ?

Le , par kimikou, Membre régulier
Bonjour,

J'aimerai savoir s'il est possible de lire un fichier ligne par ligne en commençant par la fin de ce fichier puis en remontant jusqu'au début ? en considérant que le fichier est "gros".

Merci d'avance.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de djibril djibril - Responsable Perl et Outils https://www.developpez.com
le 26/07/2012 à 9:44
Bonjour,

Oui c'est possible grâce au module File::ReadBackwards.
Avatar de Philou67430 Philou67430 - Expert confirmé https://www.developpez.com
le 26/07/2012 à 10:15
Pfff... jamais j'aurais imaginé qu'un fou ait pu inviter un tel module. Je suis toujours frappé par l'étendue du CPAN...

Dictionnaire :
- CPAN : un Univers à lui tout seul
Avatar de djibril djibril - Responsable Perl et Outils https://www.developpez.com
le 26/07/2012 à 10:29
Citation Envoyé par Philou67430  Voir le message
Pfff... jamais j'aurais imaginé qu'un fou ait pu inviter un tel module. Je suis toujours frappé par l'étendue du CPAN...

Dictionnaire :
- CPAN : un Univers à lui tout seul

. Je l'ai déjà utilisé et il m'a été d'une très grande utilité car j'avais besoin d'analyser un fichier de plusieurs Go et les informations intéressantes se situées dans les trois dernières lignes du fichier !

Vive le CPAN !
Avatar de kimikou kimikou - Membre régulier https://www.developpez.com
le 31/07/2012 à 16:09
Est-ce qu'il serai possible de le faire sans utiliser de module ?
Avatar de Lolo78 Lolo78 - Rédacteur/Modérateur https://www.developpez.com
le 31/07/2012 à 19:02
Sûrement, en utilisant les fonctions d'accès aux fichiers de bas niveau, mais je ne te conseille pas d'essayer.

Utilise le module ou, à la riogueur, pompe son contenu.
Avatar de djibril djibril - Responsable Perl et Outils https://www.developpez.com
le 31/07/2012 à 19:21
L'intérêt et la grande force de Perl est le nombre de modules dans le CPAN. S'en priver est vraiment regrettable surtout quand ils sont très efficaces.
Avatar de kimikou kimikou - Membre régulier https://www.developpez.com
le 31/07/2012 à 20:33
J'aimerai donc "pomper son contenu".

J'enregistre donc le fichier suivant : http://cpansearch.perl.org/src/URI/F...adBackwards.pm

indépendamment de mon script pour éviter de le surcharger.

Mais comment l'utiliser à l’intérieur de mon script ? car le 'use File:ReadBackwards' ne fonctionne donc pas.
Avatar de Philou67430 Philou67430 - Expert confirmé https://www.developpez.com
le 01/08/2012 à 9:59
Copie le module dans un répertoire nommé File au même niveau que ton script.
Ajoute dans ton script :
Code : Sélectionner tout
1
2
3
 
use lib qw(.); 
use File::ReadBackwards;
Mais la solution de l'installation standard est certes la plus fiable.
Offres d'emploi IT
Ingénieur analyste programmeur (H/F)
Safran - Auvergne - Montluçon (03100)
Architecte sécurité des systèmes d'information embarqués H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Architecte systèmes études & scientifiques H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Perl : djibril -