Jump to content



bash script, get command


magicman

Recommended Posts

Δημοσιεύτηκε

καλησπερα, κανω ενα script που παιρνει σαν παραμετρους, πολεις κ απο ενα λινκ μετεορολογικο

πχ http://www.wunderground.com/cgi-bin/findweather/getForecast?query=thessaloniki&wuSelect=WEATHER&MR=1

με την get πρεπει να εμφανιζω την θερμοκρασια στην πολη αυτη...

δλδ thessaloniki 5 oC

εχει δουλεψει κανεις την get με αυτο τον τροπο?

ευχαριστω..

το κανεις για να εξασκηθεις?

αλλιως υπαρχουν απειρα desklets και στο ubuntu (αν εχεις αυτο) υπαρχει και στα προσθετα απο τις μπαρες..

ασκηση εργαστηριου ειναι ρε...

η get αποτι ειδα κατεβαζει το site κ μπορεις να το στειλεις πχ σε ενα file, και εκει ειναι ο κωδικας την σελιδας.

αλλα απο εκει κ περα πως θα παρω την θερμοκρασια δεν ξερω..

Γιατί δεν χρησιμοποιείς την wget και μετά με grep να πάρεις αυτά που θες...?

Πρέπει να είναι συγκεκριμένα η get...? είναι πιο μανούρα βασικά, χωρίς ουσιαστικό λόγο.

η εκφωνηση ειναι λιγο ΄΄φλου΄΄ απλα σαν tip το δινει.

ωραια βλεπω ειναι καλυτερα, με την wget, κ τωρα grep τι ομως?

Σου είπα τα συστατικά, η μαγειρική είναι δικιά σου... εργαστήριο είναι... :p

αν το κανεις στειλε την λυση εχω περιεργεια για το πως θα ψαξεις μεσα στην σελιδα..

  • 2 weeks later...

ετσι για την ιστορια η λυση

#!/bin/bash
if [ $# -eq 0 ]; then
echo "ERROR!!! You need to give parameters!!!"
exit 1
fi

for city in $@
do
GET "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=$city&wuSelect=WEATHER" | grep '^.*tempf.*$'>a
head -1 a >b
c=`sed 's/..*\([0-9][0-9]\)..*/\1/g' b`
temp=$(($c-32))
temper=$((temp*5))
temperature=$(($temper/9))
if [ $temperature -eq -17 ]; then
echo "$city : ?"
else
echo "$city : $temperature"
fi
done

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.