bonjour,
existe t il une commande permettant de compter les lignes d'un fichier, équivalent de wc -l sous unix.
merci
bonjour,
existe t il une commande permettant de compter les lignes d'un fichier, équivalent de wc -l sous unix.
merci
soit tu lis le fichier ligne à ligne en comptabilisant.
Soit tu met le fichier dans un tableau, et tu comptes le nombre de cases de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 open (FILE, "fichier.txt") my $nbr = @file = <FILE>; close (FILE);
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Solution à éviter pour les gros fichiers, vu que ça va stocker tout le contenu du fichier en mémoire !!Envoyé par djibril
Il vaut mieux lire ligne par ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 my $nbr = 0; open (FILE, '<', "fichier.txt") || die("echec ouverture fichier en lecture\n"); $nbr++, while (<FILE>); close (FILE);
Une autre façon est d'utiliser Tie::File (fournit avec l'installation de Perl par défaut). Voici ce que la documentation dit sur l'utilisation de la mémoire:
On peut donc savoir le nombre de lignes d'un fichier de la façon suivante:The file is not loaded into memory, so this will work even for gigantic files.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 use Tie::File; tie my @a, "Tie::File", "fichier" or die("Impossible d'ouvrir le fichier: $!"); print scalar(@a), "\n";
moi je ne veux pas compter les lignes mais compter des paragraphes en pascal, il y aurait t-il quelqu'un qui pourrait m'aider
Merci
Partager