Afficher le numéro de la ligne sous Perl
ad85
-
ad85 -
ad85 -
Bonjour, je dois faire un petit programme en Perl ermettant de récupérer une chaîne de caratères dans un fichier.
J'ai écri le code suivant:
#!/usr/bin/perl;
@ARGV = ("fichier à analyser");
while (<>) {
if (/chaîne de caractères /) {
print "$_";
Aussi, je voudrais que le programme m'affiche aussi le numéro des lignes ou se trouve la chaine de caractères dans le fichier à analyser, comment dois-je faire? Y a t-il une commande particulière? si oui laquelle??
je vous remercie
J'ai écri le code suivant:
#!/usr/bin/perl;
@ARGV = ("fichier à analyser");
while (<>) {
if (/chaîne de caractères /) {
print "$_";
Aussi, je voudrais que le programme m'affiche aussi le numéro des lignes ou se trouve la chaine de caractères dans le fichier à analyser, comment dois-je faire? Y a t-il une commande particulière? si oui laquelle??
je vous remercie
Configuration: Windows Vista Internet Explorer 7.0
1 réponse
-
Salut,
Tu peux utiliser la variable spéciale $.
Sinon tu peux utiliser une variable compteur.
Version 1lami20j@debian:~/trash$ cat fichier.txt # ligne 1 ligne 2 # ligne 3 #ligne 4 ligne 5 lami20j@debian:~/trash$ cat nr_ligne.pl #!/usr/bin/perl; use strict;use warnings; while (<>) { print "$. . $_" if /4/; } __END__ lami20j@debian:~/trash$ perl nr_ligne.pl fichier.txt 4 . #ligne 4 lami20j@debian:~/trash$
Version 2lami20j@debian:~/trash$ cat fichier.txt # ligne 1 ligne 2 # ligne 3 #ligne 4 ligne 5 lami20j@debian:~/trash$ cat nr_ligne.pl #!/usr/bin/perl; use strict;use warnings; open F,"fichier.txt" or die "E/S : $!\n"; while (<F>) { print "$. . $_" if /4/; } __END__ lami20j@debian:~/trash$ perl nr_ligne.pl 4 . #ligne 4