[PERL]- traduire du shell en perl
Fermé
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
-
9 avril 2008 à 13:39
tonixm Messages postés 127 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 30 janvier 2009 - 22 avril 2008 à 15:29
tonixm Messages postés 127 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 30 janvier 2009 - 22 avril 2008 à 15:29
A voir également:
- [PERL]- traduire du shell en perl
- Traduire une page - Guide
- Denon perl pro test - Accueil - Audio
- Classic shell windows 11 - Télécharger - Personnalisation
- Traduire photo - Guide
- Traduire un document word - Guide
90 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
13 avril 2008 à 00:27
13 avril 2008 à 00:27
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__
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 14:32
9 avril 2008 à 14:32
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");
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 17:21
9 avril 2008 à 17:21
personne qui saurait??
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 19:40
9 avril 2008 à 19:40
au secours!!! lol
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 avril 2008 à 20:35
9 avril 2008 à 20:35
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
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 20:39
9 avril 2008 à 20:39
je sais je suis mal en point
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 avril 2008 à 20:39
9 avril 2008 à 20:39
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
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 20:45
9 avril 2008 à 20:45
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
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 22:00
9 avril 2008 à 22:00
qui aurait une solution en perl?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 avril 2008 à 22:03
9 avril 2008 à 22:03
moi ;-)
mais pas ce soir
si jamais tu n'auras pas de réponse, je verrai ça demain ;-)
mais pas ce soir
si jamais tu n'auras pas de réponse, je verrai ça demain ;-)
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
9 avril 2008 à 22:08
9 avril 2008 à 22:08
d'accord je retiens!!! tu m'oubli pas!!!!
en tous cas merci !!
en tous cas merci !!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 avril 2008 à 22:16
9 avril 2008 à 22:16
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é ;-))
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 08:21
10 avril 2008 à 08:21
bonjour a tous!!!!
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 11:13
10 avril 2008 à 11:13
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
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 11:40
10 avril 2008 à 11:40
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.
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 11:46
10 avril 2008 à 11:46
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
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 11:48
10 avril 2008 à 11:48
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/){
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 13:34
10 avril 2008 à 13:34
le perl est moi :(
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 14:41
10 avril 2008 à 14:41
edit: et moi
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 14:50
10 avril 2008 à 14:50
patience ;-)
c'est promis pour ce soir ;-))
c'est promis pour ce soir ;-))
tonixm
Messages postés
127
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
30 janvier 2009
4
10 avril 2008 à 15:06
10 avril 2008 à 15:06
hihi!!
d'accord merci
d'accord merci