est ce que ca donne ca ?
et quelle commande auriez vous fait si on vous demandait :
quel est le dernier mot dans un fichier ?
avec wc je penses à part si on peut le faire avec un grep sur la dernière ligne.
Pour le dernier mot, tail marche si tu veux afficher la dernière ligne.
tail --lines=1 /monfichier
d'accord, merci pour cette commande
mais est ce que quelqu'un à un script de son wget sur un site ?
par ce que je dois dérouler une suite de commande avec wget à partir de linux et récupérer des informations
les autres exercices, je me débrouillerais,
je demandes juste pour la commande wget
ce qui est demandé :
Exploiter des informations Internet. Récuperer les rafales sur une période
de jours : exemple : 5 jours à partir du 27 décembre 1999. Produire un
graphique avec gnuplot (Linux) ou Excel (Windows)
- la commande à faire est :
wget'http://meteo-bretagne.fr/archive-observation.
php?icao=07110&d=27&m=12&y=1999&metar='
il faut donner un script et une trace d'exécution
(données et graphique) mais je ne vois pas comment faire !
j'ai une soixantaine d'exos à faire, si quelqu'un peut m'aider pour celui là au moins ce serait vraiment généreux de votre part
après demain je dois fournir un résultat sur cet exercice (j'en ai d'autres à faire que je fais aussi en même temps) donc si quelqu'un à la solution parce que j'ai essayé une multitude de commande avec wget et ca ne fonctionnait pas
quelqu'un pour me dire ce que donnerait le script ? un programme à faire ?
et la trace d'execution ? c'est lorsque les données s'affichent après la commande wget ?
http://wall.deblan.fr/x1700/bash/1/
->
27/12:1999 107.3
28/12:1999 107.3
29/12:1999
30/12:1999 53.7
31/12:1999
1/1:2000
(Quand pas de valeur = aucune donnée sur le site)
A toi de faire joujou avec gnuplot
(et de choisir une période de 5 jours avec toutes les données)
(oh le flood) j'ai collé un ":" dans la date, c'est une faute de frappe ![]()
prends ton temps pour expliquer s'il te plait ![]()
donc si je rentres le programme que tu m'as montré :
-je devrais obtenir sur le terminal :
27/12 1999 107.3
28/12 1999 107.3
29/12 1999
30/12 1999 53.7
31/12 1999
1/1 2000
(j'ai enlevé les deux points, c'est ca ?)
-et donc pas de données de rafales, pas de valeurs
et pour afficher ca sur gnuplot : (je ne peux pas vérifier là je n'ai pas linux )
j'enregistre le programme sous le nom "graphique"
et sur le terminal, je fais: graphique | gnuplot
et ca devrait fonctionner non ? ou c'est mieux avec :
cat graphique | gnuplot ?
mais j'arrive pas a avoir les données avec le gnuplot !
pourtant quand on a les données brut qui s'affichent ;
si je tape gnuplot, il doit me faire un graphique non ?
je comprends pas, le wget on doit le faire sur le terminal et toi tu le fais sur le gedit (editeur de texte) ou il faut faire sur les deux ? et s'il te plait explique pour le gnuplot j'ai essayé mais ca n'affiche rien, ca devient vraiment urgent en plus
ce que tu me montre avec les rafales là apres ton lien, c'est bien le resultat que je dois voir sur le terminal si j'execute ton programme ?
si quelqu'un pourrait répondre ce serait bien merci !
s'il peut m'expliquer "les grandes lignes" ou le programme s'il l'a fait ?
La fonction récupère la rafale moyenne en fonction du jour, du mois et de l'année. Dans l'exemple, j'ai sur 5 jours les valeurs des rafales moyennes correspondantes. La sortie du script indique la date et la valeur associée (pour faciliter la lecture). On s’aperçoit d'ailleurs que 3 des 5 jours sélectionnées n'ont aucune donnée sur la rafale moyenne.
Sur une autre période avec gnuplot ajouté au script :
http://wall.deblan.fr/x171d/bash/1/ -> si tu exécutes ça, un fichier png sera généra avec les données.
ok d'accord et si je veux voir sur le graphique les données
je fais : cat [fichier.png] | gnuplot ! ou non, car je le verrais déjà vu que gnuplot est intégré au script ?
et sinon d'accord pour ca mais si on veut les données de n'importe quel jour de la météo ca marchera pas non ?
j'ai entendu dire qu'il faut mettre des $jour $mois $année
set pour les variables (jour,mois,année)
case pour qu'il affiche 01 et non 1 par exemple
c'est EOF ou plutot EDF pour le gnuplot ?
certains disent qu'il faut mettre pour les années bisextiles
si je mélange tes deux programmes ca va pas trop marcher non ?
parce que là je vois plus trop comment faire le script , le début est bien mais il faut que ca prenne tous les jours que l'on veut et pas que quelques jours dans le mois
parce que un programme comme ca c'est à peu pres 100 lignes non ?
parce que voila ce que j'ai fais avec ce qui est demandé pour le programme, pourrais tu m'aider à le corriger s'il y a des erreurs ou pour l'améliorer ?
set annee_actuel = `date '+%Y'`
set annee = $3
set annee_init = $3
set mois = $2
set mois_init = $2
set jour = $1
set jour_init = $1
set bissextile = 0
set bissextile2 = 0
set bissextile3 = 0
set v = 0
set i = 0
set j = 1
@ bissextile = $annee % 4
@ bissextile2 = $annee % 400
@ bissextile3 = $annee % 100
while( $annee < 1999 || $annee > $annee_actuel )
echo 'Veuillez entrer une année comprise entre 1999 et '$annee_actuel' ? '
set annee = $<
end
while( $mois > 12 || $mois < 0 )
echo 'Veuillez entrer un mois compris entre 1 (Janvier) et 12 (Décembre) ?'
set mois = $<
end
if( $jour < 10 )then
switch ( $jour )
case 1 :
set jour = 01
breaksw
case 2 :
set jour = 02
breaksw
case 3 :
set jour = 03
breaksw
case 4 :
set jour = 04
breaksw
case 5 :
set jour = 05
breaksw
case 6 :
set jour = 06
breaksw
case 7 :
set jour = 07
breaksw
case 8 :
set jour = 08
breaksw
case 9 :
set jour = 09
breaksw
default :
breaksw
endsw
else
endif
if( $mois < 10 )then
switch ( $mois )
case 1 :
set mois = 01
breaksw
case 2 :
set mois = 02
breaksw
case 3 :
set mois = 03
breaksw
case 4 :
set mois = 04
breaksw
case 5 :
set mois = 05
breaksw
case 6 :
set mois = 06
breaksw
case 7 :
set mois = 07
breaksw
case 8 :
set mois = 08
breaksw
case 9 :
set mois = 09
breaksw
default :
breaksw
endsw
else
endif
mkdir TEMPMETEO
cd TEMPMETEO
touch tab
while($i<5)
set url = 'http://meteo-bretagne.fr/archive-observation.php
icao=07200&d='$jour'&m='$mois'&y='$annee'&metar='
wget "$url" -o m.trace
mv archive* meteo.data
echo $j' '`grep 'km/h' meteo.data | head -1 | cut -d' ' -f3 | cut -d'>' -f2` >> tab
@ i++
if( $i == 5)then
else
@ jour++
endif
@ j++
@ bissextile = $annee % 4
@ bissextile2 = $annee % 400
@ bissextile3 = $annee % 100
if( $mois == 12 && $jour > 31 )then
set jour = 01
set mois = 01
@ annee++
else
endif
if( $mois == 02 && $jour == 30)then
set mois = 03
set jour = 01
else if( $mois == 02 && $jour == 29)then
if( $bissextile != 0)then
set mois = 03
set jour = 01
else
if( $bissextile2 != 0 && $bissextile3 == 0 )then
set mois = 03
set jour = 01
else
endif
endif
else
endif
if( $mois == 04 || $mois == 06 || $mois == 09 || $mois == 11 )then
if( $jour > 30 )then
set jour = 01
@ mois++
else
endif
if( $jour > 31 )then
set jour = 01
@ mois++
else
endif
if( $jour < 10 )then
switch ( $jour )
case 1 :
set jour = 01
breaksw
case 2 :
set jour = 02
breaksw
case 3 :
set jour = 03
breaksw
case 4 :
set jour = 04
breaksw
case 5 :
set jour = 05
breaksw
case 6 :
set jour = 06
breaksw
case 7 :
set jour = 07
breaksw
case 8 :
set jour = 08
breaksw
case 9 :
set jour = 09
breaksw
default :
breaksw
endsw
else
endif
if( $mois < 10 )then
switch ( $mois )
case 1 :
set mois = 01
breaksw
case 2 :
set mois = 02
breaksw
case 3 :
set mois = 03
breaksw
case 4 :
set mois = 04
breaksw
case 5 :
set mois = 05
breaksw
case 6 :
set mois = 06
breaksw
case 7 :
set mois = 07
breaksw
case 8 :
set mois = 08
breaksw
case 9 :
set mois = 09
breaksw
default :
breaksw
endsw
else
endif
end
cd ..
cp TEMPMETEO/tab .
rm -r TEMPMETEO
gnuplot <<EOF
set grid
set xtics 1,1,$i
set xrange [1:$i]
set title "Vitesse du vent Pointe de Pemmarc'h"
set xlabel "Jours (a partir de $jour_init/$mois_init/$annee_init au $jour/$mois/$annee)"
set ylabel " Vitesse du vent (en km/h)"
plot 'tab' title "graphe des vent" with linespoints
set terminal jpeg medium size 1200,960
set output "graphe_des_vents.jpeg"
replot
EOF
echo "Le graphe des vents a été généré dans votre dossier"
display graphe_des_vents.jpeg
1- Je ne connais pas CSH
2- Je ne connais pas tes contraintes
3- Ton code est illisible
4- J'estime déjà en avoir beaucoup trop fait
oui c'est vrai et je te remercie beaucoup. je vais donc te demander si avec les deux programmes que tu m'as montré (ci -dessous) :
ton premier programme
recuperation_rafax_moyenne() {
echo -n "$1/$2:$3 "
(wget -q -O - "http://meteo-bretagne.fr/archive-observation.php?
icao=07110&d=$1&m=$2&y=$3&metar="
| grep '<td class="forumline_metar" width="13%">' | sed '1,5d' | sed '2d' | cut -d'>' -f2 | cut -d' ' -f1 | grep -v td) || echo
}
recuperation_rafax_moyenne 27 12 1999
recuperation_rafax_moyenne 28 12 1999
recuperation_rafax_moyenne 29 12 1999
recuperation_rafax_moyenne 30 12 1999
recuperation_rafax_moyenne 31 12 1999
recuperation_rafax_moyenne 1 1 2000
--------------------------------------------------
------------------------------
ton deuxième programme
GNUPLOT_OUTPUT_FILE=rafales.png
GNUPLOT_DATAS_FILE=rafales.dat
rafale_moyenne() {
echo -n "$1 "
(wget -q -O - "http://meteo-bretagne.fr/archive-observation.php?
icao=07110&d=$1&m=$2&y=$3&metar="
| grep '<td class="forumline_metar" width="13%">' | sed '1,5d' | sed '2d' | cut -d'>' -f2 | cut -d' ' -f1 | grep -v td) || echo
}
(
# on va faire la fin de février
for i in $(seq 20 25); do
rafale_moyenne $i 02 2013
done
) > "$GNUPLOT_DATAS_FILE"
gnuplot << EOF > "$GNUPLOT_OUTPUT_FILE"
set terminal png
set xlabel 'Jours (février 2013)'
set ylabel 'Vitesse moyenne des rafales (Km/h)'
plot "$GNUPLOT_DATAS_FILE" notitle with lines
EOF
--------------------------------------------------
------------------------------
en mélangeant les deux programmes est ce que ca donnerait quelque chose ? ou il faut qu'un seul programme parmi les deux ?