Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1093 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] question relativement facile.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] question relativement facile.

n°1340415
fiftoman
Posté le 06-04-2006 à 11:51:54  profilanswer
 

Bonjour,  
 
Je dois faire une manipulation en perl.  
 
J'ai le fichier texte suivant, et j'aimerais supprimer le texte entre les tableaux.
 
Voici le fichier texte d'origine:
 
-----------------------------debut du fichier texte          
                                            D I S P L A C E M E N T   V E C T O R
 
      POINT ID.   TYPE          T1             T2             T3             R1             R2             R3
             1      G      1.599571E+01   1.185148E-02  -3.111541E+00   1.784951E-06   5.286219E-02  -3.312E-06
             2      G      2.303846E+00   1.238950E-02  -1.913684E+00   1.784951E-06   5.286219E-02  -3.342E-06
          1000      G      1.009300E-03  -1.461770E-03  -8.895236E-02  -1.380486E-02   1.121588E-03   0.0
 
du texte en vrac (n'importe quel texte sur plusieurs lignes)
encore du texte en vrac (n'importe quel texte sur plusieurs lignes)§%=)&$§" )&%"§&%)&§!"%
 
          1001      G      6.655139E-04  -1.269913E-03  -1.202470E-02  -8.149052E-03   1.912397E-03   0.0
          1002      G      2.128328E-04  -4.430452E-04   2.143617E-02   9.356764E-04  -1.131274E-03   0.0
          1003      G      1.528846E-04  -3.164306E-04   1.279018E-02   1.256070E-03  -7.879398E-04   0.0
 
encore du texte en vrac (n'importe quel texte sur plusieurs lignes)§%=)&$§" )&%"§&%)&§!"%
encore du texte en vrac (n'importe quel texte sur plusieurs lignes)222ß395702865092435
 
          1004      G      4.770843E-04  -1.147985E-03   2.830649E-02  -3.521185E-03  -6.181516E-04   0.0
          1005      G      2.695279E-04  -3.397622E-04  -1.185465E-02  -1.379297E-04  -1.666789E-03   0.0
          1006      G      5.318802E-03  -1.288805E-02   1.703259E-01   3.963486E-02   2.937418E-02   0.0
          1007      G      3.142439E-03  -5.341556E-03   5.803642E-02   1.815232E-02   1.094855E-02   0.0
 
-----------------------------fin du fichier texte.
 
Voici ce que j'aimerais obtenir:
 
-----------------------------debut du fichier texte          
                                            D I S P L A C E M E N T   V E C T O R
 
      POINT ID.   TYPE          T1             T2             T3             R1             R2             R3
             1      G      1.599571E+01   1.185148E-02  -3.111541E+00   1.784951E-06   5.286219E-02  -3.342E-06
             2      G      2.303846E+00   1.238950E-02  -1.913684E+00   1.784951E-06   5.286219E-02  -3.312E-06
          1000      G      1.009300E-03  -1.461770E-03  -8.895236E-02  -1.380486E-02   1.121588E-03   0.0
          1001      G      6.655139E-04  -1.269913E-03  -1.202470E-02  -8.149052E-03   1.912397E-03   0.0
          1002      G      2.128328E-04  -4.430452E-04   2.143617E-02   9.356764E-04  -1.131274E-03   0.0
          1003      G      1.528846E-04  -3.164306E-04   1.279018E-02   1.256070E-03  -7.879398E-04   0.0
          1004      G      4.770843E-04  -1.147985E-03   2.830649E-02  -3.521185E-03  -6.181516E-04   0.0
          1005      G      2.695279E-04  -3.397622E-04  -1.185465E-02  -1.379297E-04  -1.666789E-03   0.0
          1006      G      5.318802E-03  -1.288805E-02   1.703259E-01   3.963486E-02   2.937418E-02   0.0
          1007      G      3.142439E-03  -5.341556E-03   5.803642E-02   1.815232E-02   1.094855E-02   0.0
 
-----------------------------fin du fichier texte.
 
Et là, je sais pas trop comment m'y prendre....
merci d'avance....  :whistle:

mood
Publicité
Posté le 06-04-2006 à 11:51:54  profilanswer
 

n°1340422
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-04-2006 à 11:53:44  profilanswer
 

vire toutes les lignes qui commence pas par /\d+ /

n°1340433
fiftoman
Posté le 06-04-2006 à 12:00:06  profilanswer
 

ah ouaaaiiiis...pas mal l'idée ...
 
pour virer, je dois faire un truc de ce genre là ?  
 
while (<> ){
s/^\d+//;    
}
 

n°1340456
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-04-2006 à 12:22:48  profilanswer
 

J'imagine que tu recopies la "nouvelle" version du fichier dans un nouveau, non?
Du coup c'était plus à ça que je pensais:

Code :
  1. while(<> ){
  2. print tonNouveauFichier $_ if $_ !~ /^\d+/;
  3. }


 
Par contre après réflexion si tu dois garder les lignes:

-----------------------------debut du fichier texte          
                                            D I S P L A C E M E N T   V E C T O R
 
      POINT ID.   TYPE          T1             T2             T3             R1             R2             R3


ces lignes vont sauter! Donc essaye de les garder "par ailleurs"!
 

n°1340469
fiftoman
Posté le 06-04-2006 à 12:30:01  profilanswer
 

ah ok..
 
Comment ca "par ailleurs" s'il te plait ?  

n°1340480
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-04-2006 à 12:38:06  profilanswer
 

http://www.drfeelgood.de/burdon/images/9919071d.jpg
use your brain!!!

n°1340675
fiftoman
Posté le 06-04-2006 à 15:19:22  profilanswer
 

en fait ca marche pas terrible, car il y a du texte qui commence avec des chiffres quelque fois...
 
Quand tu écris ca: !~  tu voulais pas écrire ca plutôt != ?
Mais moi j'aurais écrit == c'Est À dire si on reconnait la regex qui reconnait les lignes du type  
1001      G      6.655139E-04  -1.269913E-03  -1.202470E-02  -8.149052E-03   1.912397E-03   0.0  
 
alors on les imprime.
 
Mais ca marche toujours pas.... :(


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] question relativement facile.

 

Sujets relatifs
Question de débutant. Interface HTML pour mes scripts perl ???[Perl]Code de 8 lignes à essayer sous Perl sous Linux
[Perl] effacer début fichier texteQuestion concernant l' ID
[Perl] et [GNUPLOT]: Pb d'executions[Perl] problème d'upgrade @INC
Utilisation d'un javascript avec perl[Perl] substitution de caractères accentués
question de sale noob : incrementer depuis une methode 
Plus de sujets relatifs à : [Perl] question relativement facile.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR