[PERL]- traduire du shell en perl
tonixm
Messages postés
127
Date d'inscription
Statut
Membre
Dernière intervention
-
tonixm Messages postés 127 Date d'inscription Statut Membre Dernière intervention -
tonixm Messages postés 127 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Avis aux habitués!!
je suis en train de me mordre les doigts sur une traduction d'un programme en perl:
cat $Conf_file | while read line
do
cat $File.sort | grep -v -w "$line" > $File.tmp
cat $File.tmp > $File.sort
done
cat $File.sort | sort >> $File.focal
Merci de tout coeur!!!
Avis aux habitués!!
je suis en train de me mordre les doigts sur une traduction d'un programme en perl:
cat $Conf_file | while read line
do
cat $File.sort | grep -v -w "$line" > $File.tmp
cat $File.tmp > $File.sort
done
cat $File.sort | sort >> $File.focal
Merci de tout coeur!!!
A voir également:
- [PERL]- traduire du shell en perl
- Classic shell - Télécharger - Personnalisation
- Comment traduire un site en français - Guide
- Traduire image - Guide
- Comment traduire sur whatsapp - Accueil - Messagerie instantanée
- Denon perl pro test - Accueil - Audio
90 réponses
essaie ça
#!/usr/bin/perl use strict;use warnings; open CONF,"fichier.conf" or die "E/S : $!\n"; open ANALYSE,"fichier.analyse" or die "E/S : $!\n"; open TMP,">fichier.tmp" or die "E/S : $!\n"; my @conf=<CONF>; chomp @conf; while(my $e=<ANALYSE>){ print TMP $e unless grep { if($_=~/\|/){ my ($x,$y)=split /\|/,$_; $y=~s/^\s*(.*)/$1/; $e=~/${x}.*$y/; }else{ $e=~/$_/; } } @conf; } __END__
j'ai essayé cela mais sans succès:
local ($line); # déclaration locale d'une variable
foreach $line ($conf_file){
# On test $file.analyse pour savoir s'il ne contient pas les lignes $line
# et on met dans $file.tmp les éléments de $file.analyse différents de $line
if($file_analyse!=~ m/$line/i){
system("cat $file_analyse > $file_tmp");
}
system("cat $file_tmp > $file_analyse");
}
system("cat $file_analyse | sort >> $file_focal");
local ($line); # déclaration locale d'une variable
foreach $line ($conf_file){
# On test $file.analyse pour savoir s'il ne contient pas les lignes $line
# et on met dans $file.tmp les éléments de $file.analyse différents de $line
if($file_analyse!=~ m/$line/i){
system("cat $file_analyse > $file_tmp");
}
system("cat $file_tmp > $file_analyse");
}
system("cat $file_analyse | sort >> $file_focal");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
vu aussi l'autre message je pense qu'on a un p'tit problème ;-))
ce n'est pas comme ça qu'on traduit un programme.
tu dois expliquer ce qu'il fait et ensuite on verrra
vu aussi l'autre message je pense qu'on a un p'tit problème ;-))
ce n'est pas comme ça qu'on traduit un programme.
tu dois expliquer ce qu'il fait et ensuite on verrra
ce que t'as fait dans ton message ce n'est pas du perl
tu fait appel aux commandes système grâce à la fonction system()
si tu veux vraiment du pur Perl, explice ce que tu dois traiter et ce que tu veux obtenir et je vais t'aider
à toi
tu fait appel aux commandes système grâce à la fonction system()
si tu veux vraiment du pur Perl, explice ce que tu dois traiter et ce que tu veux obtenir et je vais t'aider
à toi
merci.
cat $Conf_file | while read line
do
cat $File.sort | grep -v -w "$line" > $File.tmp
cat $File.tmp > $File.sort
done
cat $File.sort | sort >> $File.focal
Il faut que je lise chaque ligne du fichier.sort (qui est le fichier à traiter) et je le compare a toutes les lignes de mon fichier de conf qui est $conf_file.
Si mon fichier.sort ne ressemble a aucune lignes du fichier de conf je met cette ligne provisoirement dans un fichier .tmp
Je fais cela pour toutes les lignes de mon fichier.sort.
Puis je met le fichier.tmp dans le .sort du départ en concaténant et en écrasant ce qu'il y avait au debut.
Et finalement je concatène le fichier.sort après l'avoir trié par ordre alphabétique dans le fichier.focal
j'espere avoir été clair sinon demande moi
cat $Conf_file | while read line
do
cat $File.sort | grep -v -w "$line" > $File.tmp
cat $File.tmp > $File.sort
done
cat $File.sort | sort >> $File.focal
Il faut que je lise chaque ligne du fichier.sort (qui est le fichier à traiter) et je le compare a toutes les lignes de mon fichier de conf qui est $conf_file.
Si mon fichier.sort ne ressemble a aucune lignes du fichier de conf je met cette ligne provisoirement dans un fichier .tmp
Je fais cela pour toutes les lignes de mon fichier.sort.
Puis je met le fichier.tmp dans le .sort du départ en concaténant et en écrasant ce qu'il y avait au debut.
Et finalement je concatène le fichier.sort après l'avoir trié par ordre alphabétique dans le fichier.focal
j'espere avoir été clair sinon demande moi
tu m'oubli pas!!!!
c'est vrai que j'ai la mémoire courte et en plus je suis paresseux
toutefois je ferai un effort pour ne pas oublié ;-))
c'est vrai que j'ai la mémoire courte et en plus je suis paresseux
toutefois je ferai un effort pour ne pas oublié ;-))
Qui saurait faire cela en perl:
Il faut que je lise chaque ligne du fichier.sort (qui est le fichier à traiter) et je le compare a toutes les lignes de mon fichier de conf qui est $conf_file.
Si mon fichier.sort ne ressemble a aucune lignes du fichier de conf je met cette ligne provisoirement dans un fichier .tmp
Je fais cela pour toutes les lignes de mon fichier.sort.
Puis je met le fichier.tmp dans le .sort du départ en concaténant et en écrasant ce qu'il y avait au debut.
Et finalement je concatène le fichier.sort après l'avoir trié par ordre alphabétique dans le fichier.focal
Il faut que je lise chaque ligne du fichier.sort (qui est le fichier à traiter) et je le compare a toutes les lignes de mon fichier de conf qui est $conf_file.
Si mon fichier.sort ne ressemble a aucune lignes du fichier de conf je met cette ligne provisoirement dans un fichier .tmp
Je fais cela pour toutes les lignes de mon fichier.sort.
Puis je met le fichier.tmp dans le .sort du départ en concaténant et en écrasant ce qu'il y avait au debut.
Et finalement je concatène le fichier.sort après l'avoir trié par ordre alphabétique dans le fichier.focal
Je ne comprends pas cette partie en concaténant et en écrasant ce qu'il y avait au debut.
que veut tu faire exactement?
montre un exemple.
que veut tu faire exactement?
montre un exemple.
oui je veux dire par là faire une ecriture en ecrasant ce qu'il y avait au debut: > écriture (ecrasement)
Début:
file.tmp
aaa
ee
ff
file.sort
grrg
hhyj
zfe"
rg
Donc je veux faire:
file.tmp (on y touche pas)
aaa
ee
ff
file.sort
aaa
ee
ff
Début:
file.tmp
aaa
ee
ff
file.sort
grrg
hhyj
zfe"
rg
Donc je veux faire:
file.tmp (on y touche pas)
aaa
ee
ff
file.sort
aaa
ee
ff
pour l'instant je suis là:
Il faut que je lise chaque ligne du fichier.sort (qui est le fichier à traiter) et je le compare a toutes les lignes de mon fichier de conf qui est $conf_file:
open (FICANA, "+>$file_analyse");
pen (FICCONF, "$conf_file");
while($analyse=<FICANA>){
# On test $file.analyse pour savoir s'il ne contient pas les lignes $line
# et on met dans $file.tmp les éléments de $file.analyse différents de $line
while($ligne=<FICCONF>){
if($analyse!=~ m/\$ligne/){
Il faut que je lise chaque ligne du fichier.sort (qui est le fichier à traiter) et je le compare a toutes les lignes de mon fichier de conf qui est $conf_file:
open (FICANA, "+>$file_analyse");
pen (FICCONF, "$conf_file");
while($analyse=<FICANA>){
# On test $file.analyse pour savoir s'il ne contient pas les lignes $line
# et on met dans $file.tmp les éléments de $file.analyse différents de $line
while($ligne=<FICCONF>){
if($analyse!=~ m/\$ligne/){