Awk-perl
Résolu/Fermé
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
-
6 avril 2009 à 16:20
karim_khouja Messages postés 50 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 16 février 2010 - 6 mai 2009 à 16:54
karim_khouja Messages postés 50 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 16 février 2010 - 6 mai 2009 à 16:54
A voir également:
- Awk-perl
- Denon perl pro test - Accueil - Audio
- Ps awk ✓ - Forum Debian
- Active perl - Télécharger - Édition & Programmation
- Awk powershell - Forum Shell
- Awk separateur ✓ - Forum Shell
75 réponses
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
6 avril 2009 à 17:33
6 avril 2009 à 17:33
j'ai un fichier d'une centaine de lignes chaque ligne comporte 49 colonnes ou mots
j'en ai besoin seulement de la 44ieme, 45ieme et 46ieme colonne seulement de chaque bloque de 32 lignes
est ce que perl permet un saut de ligne???
j'en ai besoin seulement de la 44ieme, 45ieme et 46ieme colonne seulement de chaque bloque de 32 lignes
est ce que perl permet un saut de ligne???
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
7 avril 2009 à 11:53
7 avril 2009 à 11:53
Re,
Tu ne me dérange pas, mais j'avoue que je ne comprends toujours pas.
Je vois que tu mest une condition pour la 1ère donnée (égal à 60), mais je ne comprends pas l'incrementation.
Bref, il faut que tu me montre un exemple concret sur un fichier.
Tu peux faire une analogie, en utilisant par exemple 3 au lieu de 32
En ce qui concerne les séparateurs ce n'est pas difficile.
Tu ne me dérange pas, mais j'avoue que je ne comprends toujours pas.
Je vois que tu mest une condition pour la 1ère donnée (égal à 60), mais je ne comprends pas l'incrementation.
Bref, il faut que tu me montre un exemple concret sur un fichier.
Tu peux faire une analogie, en utilisant par exemple 3 au lieu de 32
En ce qui concerne les séparateurs ce n'est pas difficile.
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
7 avril 2009 à 12:34
7 avril 2009 à 12:34
Re,
Si ce n'est pas confidentiel tu peux le mettre sur cjoint.com et me donner le lien ici.
Le cas contraire tu peux m'envoyer le lien de cjoint.com par MP
Je vais regarder ce soir, je suis au boulot et je ne peux pas tester.
Si ce n'est pas confidentiel tu peux le mettre sur cjoint.com et me donner le lien ici.
Le cas contraire tu peux m'envoyer le lien de cjoint.com par MP
Je vais regarder ce soir, je suis au boulot et je ne peux pas tester.
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 12:57
7 avril 2009 à 12:57
ok Mr et merci bien c'est tres gentil de ta part
voici le lien: https://www.cjoint.com/?ejcKYUquGi
voici le lien: https://www.cjoint.com/?ejcKYUquGi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 16:13
7 avril 2009 à 16:13
a titre d'exemple ce code marche correctement sauf le separateur que j'ai est '|' (pipe)
et les conditions de saut de ligne pas encore
# !/usr/bin/perl -w
use strict;
use warnings;
open LIRE,"/home/sst/Bureau/hexa.txt" or die "fichier in trouvable";
open ECRIRE,">/home/sst/Bureau/rtp.txt\n", or die "E/S : $!\n";
while(<LIRE>)
{
if($. % 3 == 1){
my ($data_4, $data_5, $data_6, $data_7)= (split /\s/,$_)[4, 5, 6, 7];
print ECRIRE "ligne$. $data_4 $data_5 $data_6 \n";
}
}
et les conditions de saut de ligne pas encore
# !/usr/bin/perl -w
use strict;
use warnings;
open LIRE,"/home/sst/Bureau/hexa.txt" or die "fichier in trouvable";
open ECRIRE,">/home/sst/Bureau/rtp.txt\n", or die "E/S : $!\n";
while(<LIRE>)
{
if($. % 3 == 1){
my ($data_4, $data_5, $data_6, $data_7)= (split /\s/,$_)[4, 5, 6, 7];
print ECRIRE "ligne$. $data_4 $data_5 $data_6 \n";
}
}
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
7 avril 2009 à 17:28
7 avril 2009 à 17:28
Re,
Non, ça ne marche pas ton code.
Ton fichier est crée sous windows il me semble.
Le problème avec ton fichier c'est qu'il y a des lignes que tu ne traites pas.
Donc tu ne peux pas faire un pas d'incrementation si tu ne supprimes pas d'abord ces lignes.
Je parle de ça
Quand je t'ai demandé un exemple concret je parlais d'un exemple aussi de sortie.
Tu m'as donné seulement l'entrée.
Dans le fichier que tu as mis sur cjoint la ligne 4 ne contient rien.
Mais le % == 4 c'est la condition correct
Voici le résultat à partir de la ligne 7
Non, ça ne marche pas ton code.
Ton fichier est crée sous windows il me semble.
Le problème avec ton fichier c'est qu'il y a des lignes que tu ne traites pas.
Donc tu ne peux pas faire un pas d'incrementation si tu ne supprimes pas d'abord ces lignes.
Je parle de ça
+---------+---------------+----------+ 10:29:55,459,489 ETHERDonc il faut sauter des lignes.
Quand je t'ai demandé un exemple concret je parlais d'un exemple aussi de sortie.
Tu m'as donné seulement l'entrée.
Dans le fichier que tu as mis sur cjoint la ligne 4 ne contient rien.
Mais le % == 4 c'est la condition correct
Voici le résultat à partir de la ligne 7
lami20j@debian:~$ cat karim.pl # !/usr/bin/perl -w use strict; use warnings; open LIRE,"hexa.txt" or die "fichier in trouvable"; #open ECRIRE,">/home/sst/Bureau/rtp.txt\n", or die "E/S : $!\n"; while(<LIRE>) { # next unless /^\|/; my @t=(split /\|/,$_)[10..13]; { $"='|'; print "ligne$. @t\n" if $. % 32 == 7; } } lami20j@debian:~$ perl karim.pl ligne7 57|00|0c|e1 ligne39 57|00|0c|e1 ligne71 57|00|0c|e1 ligne103 57|00|0c|e1
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
6 avril 2009 à 16:58
6 avril 2009 à 16:58
Salut,
ce code je veux l'introduire dans le script perl
puis-je le faire et comment ?
Pourquoi pas faire directement en Perl?!!
ce code je veux l'introduire dans le script perl
puis-je le faire et comment ?
Pourquoi pas faire directement 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
6 avril 2009 à 19:00
6 avril 2009 à 19:00
Re,
Quand tu parles de colonnes seulement, alors ça n'a rien à avoir avec le bloc d'un nb de lignes.
Il suffit d'extraire les colonnes.
Tu ne veux pas plutôt certaines éléments qui se trouves à l'intersection des colonnes avec les lignes 1, 33, 65, etc. ?
Quand tu parles de colonnes seulement, alors ça n'a rien à avoir avec le bloc d'un nb de lignes.
Il suffit d'extraire les colonnes.
Tu ne veux pas plutôt certaines éléments qui se trouves à l'intersection des colonnes avec les lignes 1, 33, 65, etc. ?
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
6 avril 2009 à 19:08
6 avril 2009 à 19:08
Re,
Par exemple
Par exemple
lami20j@debian:~/trash$ cat bloc.pl #!/usr/bin/perl use strict;use warnings; while(<DATA>){ print "ligne$. ",(split /\s/,$_)[1,3],"\n" if $. % 3 == 1; } __END__ a b c 0 d e f 1 g h i 2 j k l 3 m n o 4 p k r 5 s t u 6 v w x 7 lami20j@debian:~/trash$ perl bloc.pl ligne1 b0 ligne4 k3 ligne7 t6
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 10:36
7 avril 2009 à 10:36
bonjour
merci pour ta réponse Mr lami20j, mais j'ai un problème que je dois commencer le parsing dés la 4ieme ligne car les 4 première ligne ne comprennent pas de données utiles
a propos aussi, je voudrai Mr enregistrer ces données dans un fichier pour que je puisse les extraire et récuperer tout les données
while(<DATA>){
print "ligne$. ",(split /\s/,$_)[44,45,46],"\n" if $. % 32 == 1;
}
merci pour ta réponse Mr lami20j, mais j'ai un problème que je dois commencer le parsing dés la 4ieme ligne car les 4 première ligne ne comprennent pas de données utiles
a propos aussi, je voudrai Mr enregistrer ces données dans un fichier pour que je puisse les extraire et récuperer tout les données
while(<DATA>){
print "ligne$. ",(split /\s/,$_)[44,45,46],"\n" if $. % 32 == 1;
}
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
7 avril 2009 à 10:51
7 avril 2009 à 10:51
Salut,
Essaie (je n'ai pas testé)
Il faut que tu mettes les chemin pour le fihcier à lire et pour le fichier resultat
Essaie (je n'ai pas testé)
Il faut que tu mettes les chemin pour le fihcier à lire et pour le fichier resultat
open LIRE,"cheminvers le fichier" or die "E/S : $!\n"; open ECRIRE,">cheminvers le fichier resultat\n", or die "E/S : $!\n"; while(<LIRE>){ print ECRIRE "ligne$. ",(split /\s/,$_)[44,45,46],"\n" if $. % 32 == 4; }
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 11:14
7 avril 2009 à 11:14
tu m'as pas bien compris en ce qui concerne Mr Lami mais merci bien pour ta reponse
je veux faire le parcours de mon fichier dés la 4ieme ligne
autrement les 4 premiere lignes doivent etre ignorer
et si jamais tu me donne un astuce pour séparer les donnés sauvegarder dans le fichier destinataire par un espace ou : ou , n'importe
je veux faire le parcours de mon fichier dés la 4ieme ligne
autrement les 4 premiere lignes doivent etre ignorer
et si jamais tu me donne un astuce pour séparer les donnés sauvegarder dans le fichier destinataire par un espace ou : ou , n'importe
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 11:33
7 avril 2009 à 11:33
me m'exprime mal desolé Mr Lami20j
en fait
* je veux extraire a partir de la 4ieme ligne
* extraire les 44, 45 et 46 ieme colonne du ligne en cours
- si $44 == 60
ligne++;
extraire la colonne 6 et 7 ;
ligne = ligne + 32;
- sinon ligne =ligne +32;
je m'excuse si jamais je t'ai dérangé et merci bcp
en fait
* je veux extraire a partir de la 4ieme ligne
* extraire les 44, 45 et 46 ieme colonne du ligne en cours
- si $44 == 60
ligne++;
extraire la colonne 6 et 7 ;
ligne = ligne + 32;
- sinon ligne =ligne +32;
je m'excuse si jamais je t'ai dérangé et merci bcp
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 12:30
7 avril 2009 à 12:30
j'ai remarquer un changement l'or de l'ouverture du fichier sur linux d'ou il aura qq petites changement
si tu veux que je t'envoi un exemple concret je peux t'envoyer le fichier "hexa.txt"
c'est une capture de suite de trames encapsulées
le fichier enregistré est en hexadecimal chaque mot séparé par un pipe "|" (wireshark capture)
mais en resumant je veux faire un test sur $45 . si $45=60 donc il s'agit d'une encapsulation de l'entete FEC apres l'entete RTP puis il faut que je cherche le numero de sequence du paquet dans la ligne suivante :$3 et $4 en les concatenant et les converssnat en decimal.
differemment si $45==21, dans ce cas le numero de sequence se trouve dans la meme ligne exactement $46 et $47, (dans ce cas on n'a pas d'encapsulation FEC)
car s'il s'agit du cas du FEC ($45=60) puis il me faut un saut de 28 lignes pour parcourir la trame qui suit
tandis que dans le cas de RTP ($45=21) il me faut un saut de 29 lignes
si tu veux que je t'envoi un exemple concret je peux t'envoyer le fichier "hexa.txt"
c'est une capture de suite de trames encapsulées
le fichier enregistré est en hexadecimal chaque mot séparé par un pipe "|" (wireshark capture)
mais en resumant je veux faire un test sur $45 . si $45=60 donc il s'agit d'une encapsulation de l'entete FEC apres l'entete RTP puis il faut que je cherche le numero de sequence du paquet dans la ligne suivante :$3 et $4 en les concatenant et les converssnat en decimal.
differemment si $45==21, dans ce cas le numero de sequence se trouve dans la meme ligne exactement $46 et $47, (dans ce cas on n'a pas d'encapsulation FEC)
car s'il s'agit du cas du FEC ($45=60) puis il me faut un saut de 28 lignes pour parcourir la trame qui suit
tandis que dans le cas de RTP ($45=21) il me faut un saut de 29 lignes
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
7 avril 2009 à 18:53
7 avril 2009 à 18:53
salut Mr
j'ai trouver la solution malgré qu'elle me somble bizzar . en tt cas je te remerci bcp et c'est grace a votre aide
# !/usr/bin/perl -w
use strict;
use warnings;
open LIRE,"/home/sst/Bureau/karim/capture/karimov.txt" or die "fichier in trouvable";
open ECRIRE,">/home/sst/Bureau/rtp.txt\n", or die "E/S : $!\n";
while(<LIRE>)
{
if($. % 4 == 3){
my ($data_135, $data_136, $data_138, $data_139, $data_141, $data_142, $data_168, $data_169, $data_171, $data_172)= (split /|/,$_)[135, 136, 138, 139, 141, 142, 168, 169, 171, 172];
print ECRIRE "ligne$. \t $data_135 $data_136 $data_138 $data_139 $data_141 $data_142 $data_168 $data_169 $data_171 $data_172\n";
}
}
si jamais je rencontre un prb Mr est ce que je peux vous contacter?
la tache n'est pas terminer aussi il me reste un tout petit peu
je vais essayer seul et si jamais je tombe en panne je te demande de m'aider et merci bcp
n'hesiter pas de commenter mon code
j'ai trouver la solution malgré qu'elle me somble bizzar . en tt cas je te remerci bcp et c'est grace a votre aide
# !/usr/bin/perl -w
use strict;
use warnings;
open LIRE,"/home/sst/Bureau/karim/capture/karimov.txt" or die "fichier in trouvable";
open ECRIRE,">/home/sst/Bureau/rtp.txt\n", or die "E/S : $!\n";
while(<LIRE>)
{
if($. % 4 == 3){
my ($data_135, $data_136, $data_138, $data_139, $data_141, $data_142, $data_168, $data_169, $data_171, $data_172)= (split /|/,$_)[135, 136, 138, 139, 141, 142, 168, 169, 171, 172];
print ECRIRE "ligne$. \t $data_135 $data_136 $data_138 $data_139 $data_141 $data_142 $data_168 $data_169 $data_171 $data_172\n";
}
}
si jamais je rencontre un prb Mr est ce que je peux vous contacter?
la tache n'est pas terminer aussi il me reste un tout petit peu
je vais essayer seul et si jamais je tombe en panne je te demande de m'aider et merci bcp
n'hesiter pas de commenter mon code
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
7 avril 2009 à 19:19
7 avril 2009 à 19:19
Salut,
si jamais je rencontre un prb Mr est ce que je peux vous contacter?
C'est un plaisir d'aider quelqu'un qui essaie d'abord faire tout seul.
Tu peux toujours poser tes questions. Que ça soit moi où une autre personne tu trouveras un coup de main ;-).
Je vais essayer d'améliorer un peu ton code. Tu me diras si tu obtiens le même résultat
Plus tard je vais essayer aussi de t'expliquer le code.
si jamais je rencontre un prb Mr est ce que je peux vous contacter?
C'est un plaisir d'aider quelqu'un qui essaie d'abord faire tout seul.
Tu peux toujours poser tes questions. Que ça soit moi où une autre personne tu trouveras un coup de main ;-).
Je vais essayer d'améliorer un peu ton code. Tu me diras si tu obtiens le même résultat
Plus tard je vais essayer aussi de t'expliquer le code.
#!/usr/bin/perl -w use strict;use warnings; open LIRE,"/home/sst/Bureau/karim/capture/karimov.txt" or die "fichier in trouvable"; open ECRIRE,">/home/sst/Bureau/rtp.txt\n" or die "E/S : $!\n"; while(<LIRE>){ if($. % 4 == 3){ my @data= (split /|/,$_)[135,136,138,139,141,142,168,169,171,172]; print ECRIRE "ligne$. \t@data\n"; } }Si jamais tu as besoin des variables tu peux toujours les utiliser de la facon $data[indicetableau]
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
8 avril 2009 à 10:29
8 avril 2009 à 10:29
Bonjour Mr
le code que vous m'avez proposé ne ne fonctionne pas correctement
my @data= (split /|/,$_)[135,136,138,139,141,142,168,169,171,172];
print ECRIRE "ligne$. \t@data\n";
le resultat dans le fichier resultat est :
ligne3
ligne7
ligne11
ligne15
ligne19
tandis que,
my ($data_135, $data_136, $data_138, $data_139, $data_141, $data_142, $data_168, $data_169, $data_171, $data_172)= (split /|/,$_)[135, 136, 138, 139, 141, 142, 168, 169, 171, 172];
print ECRIRE "ligne$. \t $data_135 $data_136 $data_138 $data_139 $data_141 $data_142 $data_168 $data_169 $data_171 $data_172\n";
m'a donné hier le bon resultat mais aujourd'hui des erreur de compilations
expl:
Use of uninitialized value $data_171 in concatenation (.) or string at test.pl line 12, <LIRE> line 4955.
j'ai pas compris pourquoi exactement
le code que vous m'avez proposé ne ne fonctionne pas correctement
my @data= (split /|/,$_)[135,136,138,139,141,142,168,169,171,172];
print ECRIRE "ligne$. \t@data\n";
le resultat dans le fichier resultat est :
ligne3
ligne7
ligne11
ligne15
ligne19
tandis que,
my ($data_135, $data_136, $data_138, $data_139, $data_141, $data_142, $data_168, $data_169, $data_171, $data_172)= (split /|/,$_)[135, 136, 138, 139, 141, 142, 168, 169, 171, 172];
print ECRIRE "ligne$. \t $data_135 $data_136 $data_138 $data_139 $data_141 $data_142 $data_168 $data_169 $data_171 $data_172\n";
m'a donné hier le bon resultat mais aujourd'hui des erreur de compilations
expl:
Use of uninitialized value $data_171 in concatenation (.) or string at test.pl line 12, <LIRE> line 4955.
j'ai pas compris pourquoi exactement
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
8 avril 2009 à 11:36
8 avril 2009 à 11:36
c fait avec succés
un petit truc qui manque c'est
chmod +x chemin_du_fichier
ce que je voudrai bien le savoir c'est comment extraire les deux premiers arguments en les concatenant puis convertir ce nombre hexa en decimal
exple :
ligne3 21 a515 4704
ligne7 21 a516 4704
ligne11 21 a517 4704
ligne15 21 a518 4704
ligne19 60 876c a4e4
ligne23 21 a519 4704
ligne27 21 a51a 4704
ligne31 21 a51b 4704
ligne35 60 876d a4e5
ligne39 60 876e a4e6
trouve = false;
while (trouve ==true)
je voudrai exactement analyser la deuxieme colonne
si $2==60
first=hex($4);
chercher d'avantage la seconde apparition de '60' a la colenne 4 ($4)
second = hex ($4);
si (second - first==33)
trouve = true;
pour le moment chui entrain de programmer cette tache
je veux juste un coup de main pour que je puisse continuer
car comme vous le savez chui debutant en perl
merci bcp
un petit truc qui manque c'est
chmod +x chemin_du_fichier
ce que je voudrai bien le savoir c'est comment extraire les deux premiers arguments en les concatenant puis convertir ce nombre hexa en decimal
exple :
ligne3 21 a515 4704
ligne7 21 a516 4704
ligne11 21 a517 4704
ligne15 21 a518 4704
ligne19 60 876c a4e4
ligne23 21 a519 4704
ligne27 21 a51a 4704
ligne31 21 a51b 4704
ligne35 60 876d a4e5
ligne39 60 876e a4e6
trouve = false;
while (trouve ==true)
je voudrai exactement analyser la deuxieme colonne
si $2==60
first=hex($4);
chercher d'avantage la seconde apparition de '60' a la colenne 4 ($4)
second = hex ($4);
si (second - first==33)
trouve = true;
pour le moment chui entrain de programmer cette tache
je veux juste un coup de main pour que je puisse continuer
car comme vous le savez chui debutant en perl
merci bcp
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
8 avril 2009 à 11:53
8 avril 2009 à 11:53
Salut,
j'ai pas compris pourquoi exactement
Si le code fonctionne dans certains cas alors il faut peut être étudier le fichiers d'entrée.
Normalement mon code doit fonctionner. En fin de compte un tableau n'est qu'une liste où on peut appliquer certaines fonctions.
Pour l'extraction que tu veux faire, il ne faut pas oublie que tu dois parcourir le résultat qui est un fichier.
Ensuite il faut tenir compte de séparateur qui est un espace.
j'ai pas compris pourquoi exactement
Si le code fonctionne dans certains cas alors il faut peut être étudier le fichiers d'entrée.
Normalement mon code doit fonctionner. En fin de compte un tableau n'est qu'une liste où on peut appliquer certaines fonctions.
Pour l'extraction que tu veux faire, il ne faut pas oublie que tu dois parcourir le résultat qui est un fichier.
Ensuite il faut tenir compte de séparateur qui est un espace.
karim_khouja
Messages postés
50
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
16 février 2010
3
8 avril 2009 à 13:17
8 avril 2009 à 13:17
j'ai eu l'idée d'analyser le nouveau fichier rtp.txt
et mettre toutes les 4ieme arguments dans un tableau a condition que le deuxieme argument soit egale a 60
open FILE,"/home/sst/Bureau/rtp.txt" or die "E/S : $!\n";
my($line,@words,$word,%total);
while( defined( $line = <FILE> ) )
{
@words = split( /\W+/, $line );
foreach my $word (@words)
{
if ($word eq '60')
{
my @table = $words[4];
}
}}
tojours des msg d'erreur
est ce que c'est faisable ou non? car je veux comparer les SNBL ($4 4iemes champs) ensemble
il faut que je trouve une difference = 33 c'est l'SNBL ($4) que je cherche
et mettre toutes les 4ieme arguments dans un tableau a condition que le deuxieme argument soit egale a 60
open FILE,"/home/sst/Bureau/rtp.txt" or die "E/S : $!\n";
my($line,@words,$word,%total);
while( defined( $line = <FILE> ) )
{
@words = split( /\W+/, $line );
foreach my $word (@words)
{
if ($word eq '60')
{
my @table = $words[4];
}
}}
tojours des msg d'erreur
est ce que c'est faisable ou non? car je veux comparer les SNBL ($4 4iemes champs) ensemble
il faut que je trouve une difference = 33 c'est l'SNBL ($4) que je cherche