Rechercher : dans
Par :

Afficher le numéro de la ligne sous Perl

Dernière réponse le 19 oct 2008 à 15:27:44 ad85, le 18 oct 2008 à 16:54:57 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « afficher le numéro de la ligne sous Perl » dans :
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Tableaux HTML VoirUtilisation de tableaux Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes. Un...
Linux - L'éditeur Vi VoirIntroduction à Vi Vi est un des éditeurs de texte les plus populaires sous les systèmes de type Unix (avec Emacs et pico) malgré son ergonomie très limitée. Sous Linux il existe une version libre de Vi appelée Vim (Vi Improved). Vi (prononcez...

1

lami20j, le 18 oct 2008 à 17:50:37

Salut,

Tu peux utiliser la variable spéciale $.
Sinon tu peux utiliser une variable compteur.

Version 1

lami20j@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 2
lami20j@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

106485010510997108

Répondre à lami20j

2

 ad85, le 19 oct 2008 à 15:27:44

Merci pour ton aide sa marche bien.
Aussi je voulais savoir a quoi signifie "CustomLog " et "log pipe" toujours sur apache?
MERCI

Répondre à ad85