Créer des profils du manteau neigeux - retour accueil
git clone git://bebou.netlib.re/gelinive
Log | Files | Refs | README |
gelinivetest (1833B)
1 #! /bin/sh 2 3 t=$(date +"%a %d/%m/%Y") 4 help="no" 5 while getopts "ht:f:c:" opt; do 6 case $opt in 7 t | f | c) 8 [ ! -z "$OPTARG" ] && eval "$opt='$OPTARG'" ;; 9 h | \?) 10 help="yes" ;; 11 esac 12 done 13 14 if [ $help = "yes" ] 15 then 16 <<. cat 17 Utilisation : [< fichier_profil] gelinive [-t titre_du_graph] [-f fichier_tableau] [-c fichier_température] 18 19 Le fichier_profil, seule donnée nécessaire pour que gelinive produise un 20 graphique, doit être passé via stdin. Si aucun fichier n'est donné gelinive 21 lira les données entrées au clavier. 22 23 Si fichier_température est omis le grah généré n'aura pas de courbe de 24 température. 25 26 Si titre_du_graph est omis le graph généré aura pour titre la date du jour sous 27 le format "jour_de_la_semaine dd/mm/yyyy". 28 29 fichier_tableau est le chemin du fichier à créer contenant les données d'entrée 30 complétées de l'enfoncement après n coups, de la résistance au battage et de la 31 hauteur au-dessus du sol. S'il n'existe pas aucun fichier ne sera créé. 32 . 33 exit 0 34 fi 35 36 # Calcule les variables R e et H et les ajoute à la fin de change ligne 37 calc_R_e_H() { 38 awk -vH="$1" -vOFS='\t' ' 39 { 40 q=$1;P=$2;n=$3;h=$4;e=$5;d=e-olde 41 H=H-(olde-volde) 42 if(d!=0) { R=int(n*h/d+q+P) } else { R="/" } 43 print $0,d,R,H 44 volde=olde;olde=e 45 }' 46 } 47 48 tempdir=$(mktemp -d);trap "rm -rf $tempdir" EXIT # Dossier temporaire dans lequel bosser 49 cat > $tempdir/profil # On stocke les données dans un fichier 50 51 topheight=$(tail -n1 $tempdir/profil | cut -f5) # On récupère le dernier champ de la dernière ligne 52 < $tempdir/profil calc_R_e_H $topheight | # On met dans stdin de la fonction les données, en argument la hauteur 53 tee "$f" 2> /dev/null | # On stocke le résultat dans un fichier, si l'argument existe 54 ./geliniveplot "$t" "$c" 2> /dev/null # On créé le graph 55