Bonjour
J'ai un problème pour écrire les conditions correctement.
Je m'explique j'ai plusieurs fichiers (600) avec des informations que je veux extraire.
Le problème c'est que ces fichiers on un nom plutôt gênant ==> MN-900-slow.00001.node_data jusqu'au fichier MN-900-slow.00600.node_data
évidement les 0000 dans le nom son très embétant pour faire une boucle simple j'ai donc essayer d'écrire des conditions mais apparemment je m'y suis mal pris.
Je vous joint mon script si vous avez un solution ou une idée je suis preneur.
Merci a vous
Code:#!/bin/bash ##Plot les isotherme ### ### USAGE: ./isotherme.sh ####Code de base #awk '{printf("%.0f %.0f %.13f\n" ,$2,$3,$5)}' MN-900-slow.00001.node_data > outT.txt #xyz2grd outT.txt -GoutT.grd -R0/360000/0/120000 -I5000 -V ##palette couleur #makecpt -CGMT_jet.cpt -Z -T273/1619/0.01 -V > T.cpt ##affichage #grdimage outT.grd -JX60/-20 -V -P -R0/360000/0/120000 -CT.cpt -B50000g400000:"X(m)":/10000g1000000:"Z(m)":WSne -Y70 -X5 -K > isotherme.ps #grdcontour outT.grd -JX -V -P -R0/360000/0/120000 -C100 -W5/255/0/0 -A100 -K -O >> isotherme.ps #psscale -D30/-3/10/0.4h -CT.cpt -B300:"T (K)": -O >> isotherme.ps #evince isotherme.ps & ##Code avec variable #palette couleur makecpt -CGMT_jet.cpt -Z -T273/1619/0.01 -V > T.cpt #Debut de la boucle for ((i=1;i<=600;i+=1)) do if [ i<10 ] then #Selection des données awk '{printf("%.0f %.0f %.13f\n" ,$2,$3,$5)}' MN-900-slow.0000$i.node_data > outT$i.txt elif [ i<100 ] then awk '{printf("%.0f %.0f %.13f\n" ,$2,$3,$5)}' MN-900-slow.000$i.node_data > outT$i.txt elif [ i<1000 ] then awk '{printf("%.0f %.0f %.13f\n" ,$2,$3,$5)}' MN-900-slow.00$i.node_data > outT$i.txt fi #Définition du MinMax minmax outT$i.txt -C > minmaxout #Definition des variable Xmin et Xmax Xmin=$(awk '{print ($1)}' minmaxout | bc -l) Xmax=$(awk '{print ($2)}' minmaxout | bc -l) echo Xmin=$Xmin echo Xmax=$Xmax #Conversion du xyz en grd xyz2grd outT$i.txt -GoutT.grd -R$Xmin/$Xmax/0/120000 -I5000 -V #affichage grdimage outT.grd -JX60/-20 -V -P -R0/360000/0/120000 -CT.cpt -B50000g400000:"X(m)":/10000g1000000:"Z(m)":WSne -Y70 -X5 -K > isotherme$i.ps grdcontour outT.grd -JX -V -P -R0/360000/0/120000 -C100 -W5/255/0/0 -A100 -K -O >> isotherme$i.ps psscale -D30/-3/10/0.4h -CT.cpt -B300:"T (K)": -O >> isotherme$i.ps #Fin de la boucle done #evince isotherme.ps&
-----