A voir également:
- Probleme de doublons en PERL
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Denon perl pro test - Guide
- Logiciel gratuit pour supprimer les doublons en français - Télécharger - Nettoyage
5 réponses
Essaye ça :
open (FENT, 'Bureau\test.txt') || die "Probleme d'ouverture de fichier => $!";
@lignes= <FENT>;
my @tabIp;
foreach my $ligne (<FENT>){
if ($ligne =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s/) {
my $flag = 1;
foreach my $valeur (@tabIp) {
if ( $valeur eq $ligne) {
$flag = 0;
}
}
if ($flag) {
push (@tabIp, $ligne);
}
}
}
close FENT;
open (FENT, 'Bureau\test.txt') || die "Probleme d'ouverture de fichier => $!";
@lignes= <FENT>;
my @tabIp;
foreach my $ligne (<FENT>){
if ($ligne =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s/) {
my $flag = 1;
foreach my $valeur (@tabIp) {
if ( $valeur eq $ligne) {
$flag = 0;
}
}
if ($flag) {
push (@tabIp, $ligne);
}
}
}
close FENT;
Donc voila je commence par te remercier d'avoir repondu!!!!
Autrement j'ai essayer et donc après ca pour tester je voulais l'afficher, mais il m'affiche rien. Pour afficher j'ai juste rajouter à la fin : print join(' ',@tabIp);.
Donc voila j'ai essayer mais aucun succés, mais merci encore
Autrement j'ai essayer et donc après ca pour tester je voulais l'afficher, mais il m'affiche rien. Pour afficher j'ai juste rajouter à la fin : print join(' ',@tabIp);.
Donc voila j'ai essayer mais aucun succés, mais merci encore
J'ai oublié d'enlever une petite chose, c'est pour ça que ça ne marche pas.
Ca devrait être mieux maintenant.
open (FENT, 'Bureau\test.txt') || die "Probleme d'ouverture de fichier => $!";
my @tabIp;
foreach my $ligne (<FENT>){
if ($ligne =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s/) {
my $flag = 1;
foreach my $valeur (@tabIp) {
if ( $valeur eq $ligne) {
$flag = 0;
}
}
if ($flag) {
push (@tabIp, $ligne);
}
}
}
close FENT;
Ca devrait être mieux maintenant.
open (FENT, 'Bureau\test.txt') || die "Probleme d'ouverture de fichier => $!";
my @tabIp;
foreach my $ligne (<FENT>){
if ($ligne =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s/) {
my $flag = 1;
foreach my $valeur (@tabIp) {
if ( $valeur eq $ligne) {
$flag = 0;
}
}
if ($flag) {
push (@tabIp, $ligne);
}
}
}
close FENT;
Donc voila j'ai essayé encore ta nouvelle méthode, mais avec aucun succés a la fin :(, je ne comprend pas pourtant ta version à l'air d'etre correct, j'ai meme essayé avec un while pour lire les lignes des fichiers, mais toujours la meme chose, la il m'affiche quelque chose, c'est sur mais en faite il m'affiche tout c'est à dire
2008-05-03 00:00:17 192.168.19.11 anonymous POST - 202 258 .
Encore merci de prendre de ton temps pour trouver la solution!!! :)
2008-05-03 00:00:17 192.168.19.11 anonymous POST - 202 258 .
Encore merci de prendre de ton temps pour trouver la solution!!! :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'était un problème dans ton expression régulière, je ne l'avais pas vérifiée...
open (FENT, 'Bureau\test.txt') || die "Probleme d'ouverture de fichier => $!";
my @tabIp;
foreach my $ligne (<FENT>){
if ($ligne =~ s/(^.* )(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})( .*\n$)/$2/) {
my $flag = 1;
foreach my $valeur (@tabIp) {
if ( $valeur eq $ligne) {
$flag = 0;
}
}
if ($flag) {
push (@tabIp, $ligne);
}
}
}
close FENT;
open (FENT, 'Bureau\test.txt') || die "Probleme d'ouverture de fichier => $!";
my @tabIp;
foreach my $ligne (<FENT>){
if ($ligne =~ s/(^.* )(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})( .*\n$)/$2/) {
my $flag = 1;
foreach my $valeur (@tabIp) {
if ( $valeur eq $ligne) {
$flag = 0;
}
}
if ($flag) {
push (@tabIp, $ligne);
}
}
}
close FENT;