Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/05/2008, à 12:16

pika76

[résolu] script pour traitement de données

Bonjour,

je commence tout juste a faire des scripts et j ai besoin d aide car depuis ce matin je me casse le crane pour un truc!!

voila mon probleme.

J ai 500 fichiers qui ont la meme structure. J ai besoin de faire des tableaux sachant que je traite après ces tableaux sous matlab. j ai donc crée un premier tableau et il me faut le 2eme.

Mon script

j' ai listé dans un fichier (nom_de fichier) tous les fichiers. j'ai recupéré deux informations qui sont contenu dans le titre. ex : id_184000_0.26.txt >>> j ai crée un fichier avec un tableau comprenant "184000 0.26" dans le fichier tableau_valeur

#!/bin/sh

rm  -R ./treat
mkdir ./treat/
cp id_* ./treat/
cd ./treat/
cd ..
\ls ./treat/ > nom_de_fichier


nfi=`wc nom_de_fichier | awk '{print $1}' -`
ifi=1;

while expr ${ifi} \<= ${nfi} 1> /dev/null 2>&1 ; do
	
  sed -e 's/id_//g' nom_de_fichier > lls2
  sed -e 's/.txt//g' lls2 > lls3
  sed -e 's/_/ /g' lls3 > tableau_valeur

ifi=`expr $ifi + 1` ; done

rm lls2 lls3
cd ./treat

#jusqu'ici tout va bien
#je souhaite maintenant lire chaque fichier (cad a dire à partir du fichier "nom_de_fichier" je prend par exemple id_192000_0.26.txt et recupèrer la ligne qu'il me faut et ensuite passé a la ligne suivante de nom_de_fichier pour prendre dans un autre fichier, la ligne qu'il me faut!!!

while expr ${ifi} \<= ${nfi} 1> /dev/null 2>&1 ; do

   var=`sed -n ${ifi}p  ../nom_de_fichier` [b](ça ne marche pas)[/b]
   sed '/1073/!d' $var > deformation

ifi=`expr $ifi + 1` ; done

rm def

j ai essayé cela et ça marché :

   var=`sed -n $1p  ../nom_de_fichier` 
   sed '/1073/!d' $var > deformation
#sed '$d' deformation > def
#sed '$d' def > deformation

voici le fichier : nom_de_fichier (pas en entier car il est tres long

id_180000_0.26.txt
id_180000_0.27.txt
id_180000_0.28.txt
id_180000_0.29.txt
id_180000_0.31.txt
id_180000_0.32.txt
id_180000_0.33.txt
id_180000_0.3.txt
id_184000_0.26.txt
id_184000_0.27.txt
id_184000_0.28.txt
id_184000_0.29.txt
id_184000_0.31.txt
id_184000_0.32.txt
id_184000_0.33.txt
id_184000_0.3.txt
id_188000_0.26.txt
id_188000_0.27.txt

et voici le fichier id_180000_0.26.txt :

                                                                      Page 1  

           
    Simulation                       30-May-08  12:59:28  



           

 Group ID          : None

 Result Set        : 2 -  B.C. 1,STRAIN_2,IDENT_PATTE

 Report Type       : Contour                     Units         : MN

 Result Type       : STRAIN

 Frame of Reference: Part                        Data Component: X-Component 

           

           

           

     Node  Strain-XX  Strain-XY  Strain-YY  Strain-XZ  Strain-YZ  Strain-ZZ  

           

     1072  1.808E+00  2.319E-02 -5.683E-02 -1.551E-01 -1.992E-03 -9.183E-01

    [b] 1073  1.808E+00  2.112E-02 -5.459E-02 -1.563E-01 -6.288E-03 -9.229E-01
[/b] (ligne a recupéré)
     1085  1.758E+00  2.231E-02 -9.703E-02 -6.712E-02 -1.118E-02 -7.627E-01

     1086  1.758E+00  2.023E-02 -9.479E-02 -6.860E-02 -6.166E-03 -7.676E-01

     1410  1.386E+00  1.791E-02 -5.587E-02 -1.539E-01 -1.638E-03 -7.196E-01

     1411  1.386E+00  1.998E-02 -5.368E-02 -1.554E-01 -6.535E-03 -7.241E-01

     1423  1.337E+00  1.692E-02 -9.149E-02 -6.811E-02 -1.082E-02 -5.677E-01

     1424  1.337E+00  1.899E-02 -8.930E-02 -6.975E-02 -6.634E-03 -5.726E-01

           

               1073       1072       1411       1085       1410       1423 

 Maximum   1.808E+00  2.319E-02 -5.368E-02 -6.712E-02 -1.638E-03 -5.677E-01

           

               1424       1423       1085       1073       1085       1073 

 Minimum   1.337E+00  1.692E-02 -9.703E-02 -1.563E-01 -1.118E-02 -9.229E-01

           

           

 Average   1.572E+00  2.008E-02 -7.420E-02 -1.118E-01 -6.406E-03 -7.445E-01


En gros ce que je demande.

comment faire une boucle dans mon script qui lit un fichier ligne par ligne et qui me renvoi dans une variable, ce qu'il y a sur la ligne.

Dernière modification par pika76 (Le 31/05/2008, à 16:50)

Hors ligne