Ne crois tu pas que pour la deuxième ligne il faut que var1 contienne un m ou M, que var3 contienne un point et que var4 contienne un s ou S pour que la condition soit valide?
J'ai trié mon fichier sur le champ qui m'intéresse et j'obtiens un nouveau fichier de ce type:
rouge
bleu
rouge
vert
Mon problème est que je ne sais pas comment balayer ce nouveau fichier et comparer les lignes pour qu'il me récupère
que les valeurs identiques?
Voilà ce que j'ai réussi à faire:
$file="c:\\table.txt";
# Ouvre le fichier, qui s'il n'existe pas
open(INFILE,$file) or die "Impossible de trouver le fichier $file\n";
while () {$string=$_;
if ($string=~ /M/){
@liste=substr($_, 6, 8);
open ("NEWFILE", ">>mont.txt") or die ("Impossible d'ouvrir le fic. mont.txt");
while (<@liste>) { print NEWFILE "$_\n" ;# Ecrit toutes les lignes dans mont.txt
}
}
}
Je souhaite faire du perl car je suis sur Windows.
Je pense résoudre mon problème en cherchant seul sans que vous soyez obligé de vous y pencher comme je l'ai compris quand on post un message dans programmation Perl et qu'on se retrouve avec des solutions en Shell.
Tout va pour le mieux dans ce monde qui tourne vraiment de mieux en mieux.
[^] # Re: Spaces matter
Posté par milounix . En réponse au message Explication syntaxe Perl. Évalué à 2.
Ne crois tu pas que pour la deuxième ligne il faut que var1 contienne un m ou M, que var3 contienne un point et que var4 contienne un s ou S pour que la condition soit valide?
merci
[^] # Re: Precision
Posté par milounix . En réponse au message Lignes avec mots identiques. Évalué à 2.
rouge
bleu
rouge
vert
Mon problème est que je ne sais pas comment balayer ce nouveau fichier et comparer les lignes pour qu'il me récupère
que les valeurs identiques?
Voilà ce que j'ai réussi à faire:
$file="c:\\table.txt";
# Ouvre le fichier, qui s'il n'existe pas
open(INFILE,$file) or die "Impossible de trouver le fichier $file\n";
while () {$string=$_;
if ($string=~ /M/){
@liste=substr($_, 6, 8);
open ("NEWFILE", ">>mont.txt") or die ("Impossible d'ouvrir le fic. mont.txt");
while (<@liste>) { print NEWFILE "$_\n" ;# Ecrit toutes les lignes dans mont.txt
}
}
}
Je souhaite faire du perl car je suis sur Windows.
Merci
[^] # Re: Precision
Posté par milounix . En réponse au message Lignes avec mots identiques. Évalué à 0.
Tout va pour le mieux dans ce monde qui tourne vraiment de mieux en mieux.
A bientôt, peut être avec la solution.....
Réfléchissez avant de vous exprimer...
# Precision
Posté par milounix . En réponse au message Lignes avec mots identiques. Évalué à 1.
Fichier1:
Ma maison est rouge
mon toit doit etre bleu
ma cheminée fume
mon toit doit etre rouge
Je veux obtenir le fichier2 comme suit:
mon toit doit etre bleu
mon toit doit etre rouge
En gros je veux avoir dans le fichier2 les lignes du fichier1 ayant le même 2ème mot (par exemple).
Le tout en langage Perl
Merci
[^] # Re: join
Posté par milounix . En réponse au message récupération lignes ayant des mots identiques.. Évalué à 1.
[^] # Re: @ = tableau
Posté par milounix . En réponse au message Pb envoi courriel. Évalué à 1.
ça marche nickel, j'aurai du y penser
merci.
[^] # Re: Here documents
Posté par milounix . En réponse au message envoyer un courriel en perl. Évalué à 1.
my $smtp = Net::SMTP->new('MAILHUB',
Debug => 1,
Timeout => 30);
$smtp->mail('pascal@free.fr');
$smtp->to('titi@tri.fr');
$smtp->cc('toto@gmail.fr');
$smtp->data();
$smtp->datasend( << "EOM" );
From: <pascal@free.fr>
To: <titi@tri.fr>
Cc: <toto@free.fr>
Subject: Test
edfkjdsfdsf
sdfdsfdsff
EOM
$smtp->dataend();
$smtp->quit();
Ma question:
Pourquoi à la rèception je vois dans "De:pascal.fr" dans "A: titi.fr@free.fr" et dans "Cc: toto.fr@free.fr"
Cela est gênant si les personnes recevant ce Courriel veulent y répondre.
Merci par avance.
[^] # Re: typo ?
Posté par milounix . En réponse au message Pb entre version 5.005 et V 5.6.1. Évalué à 1.
J'ai trouvé la bonne syntaxe pour Perl 5.000
my ($seconde,$minute,$heure,$jour,$mois,$annee,$wday,$yday,$isdst) = localtime(time);
@months= ("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
$mmm= $months[$mois];
print $mois;
En espèrant que cela pourra servir à quelqu'un d'autre.
[^] # Re: Here documents
Posté par milounix . En réponse au message envoyer un courriel en perl. Évalué à 1.
A bientôt.
[^] # Re: eval ?
Posté par milounix . En réponse au message Variabiliser un mot d'un fichier. Évalué à 1.
le fichier contient des lignes toto=xxxxx ti=ggg ta=oo
je souhaite récupérer toto ti ta en variable pour exècuter des commandes ensuite avec.
[^] # Re: Par un .bat temporaire
Posté par milounix . En réponse au message heritage variable. Évalué à 1.
A+
[^] # Re: quelques pistes non testées :
Posté par milounix . En réponse au message Question de script. Évalué à 1.
[^] # Re: find + gzip
Posté par milounix . En réponse au message script. Évalué à 1.
zipper les fichiers d'origine de format "aaaaaa.txt" en "aaaaaa.gz" et pouvoir ensuite récupérer le nom du fichier de type "aaaaaa"
Merci