Bonjour !
Je reviens pour un petit coup de main.
Alors voilà, j'ai une liste de fichiers un peu comme ça :
Et chaque fichier est composé de deux colonnes (séparateur : tabulation) :1.txt
2.txt
...
Je souhaite traiter la première colonne. En effet, j'aimerais pouvoir compter le nombre de ligne où la première valeur est entre 0 et 100, puis 100 et 1000, etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1 1 1 1 13 1 24 1 33 1
Donc ça, je sais le faire pour un fichier mais en ligne de commande, une ligne pour chaque tranche de valeur.
Mais vu le nombre de fichier que j'ai, je ne peux pas me permettre ça, je pensais alors faire un script déjà pour faire ceci dans un fichier.
J'ai commencé comme ça :
Bon, ça me print les lignes mais... J'aimerais bien que ça me les compte plutôt !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 #!/ usr/bin/env perl use strict; use warnings; if ($#ARGV != 0) # rentrer fichier à analyser en arguments { die "\n\tUsage: $0 Filename\n\n" } open C,"<$ARGV[0]" or die "Impossible d'ouvrir le fichier"; while (my $ligne = <C>) { chomp $ligne; my $valeur = $1 if $ligne =~ /^(\d+)/; #je stock le premier chiffre de mes lignes. if ($valeur<100) { print "$ligne\n"; } if (($valeur>=100) && ($valeur<1000)) { print "$ligne\n"; } }
Auriez-vous un petit conseil ? Dois-je utiliser une table de hachage ? Mici.
Partager