toyotaki Δημοσ. 7 Απριλίου 2011 Share Δημοσ. 7 Απριλίου 2011 Έχω αυτό το site http://uk.search.yahoo.com/search όπου πρέπει να δώσω σαν είσοδο τρεις λέξεις και θέλω να απομονώσω τον αριθμό των αποτελεσμάτων και να τον αναθέσω σε μία μεαβλητή. Προσπάθησα να χρησιμοποιήσω την curl ως εξής: >pw1w2e=`curl -s "http://uk.search.yahoo.com/search?q=$w1+$w2+NEAR+e" | grep resultCount | sed 's:^.*<strong id="resultCount">::' | sed 's:</strong> results.*$::'` Το αποτέλεσμα που ψάχνω δίνεται από το site σε αυτό το σημείο ><span class="count"><strong id="resultCount">2,980,000</strong> results for</span> Το πρόβλημά μου είναι ότι δε μου απομονώνει σε όλες τις περιπτώσεις το νούμερο. Στις περιπτώσεις που δε δουλεύει σωστά μου εμφανίζει το νούμερο και όλο τον κώδικα της σελίδας από το νούμερο και μετά. Φαίνεται να δουλεύει σωστά μέχρι πριν το grep resultCount. Κάνω κάπου λάθος; Υπάρχει άλλος τρόπος για να απομονώσω ή να υπολογίσω εκ νέου το νούμερο που θέλω; pw1w2e: μεταβλητή μέσα σε bash shell script που θέλω να αποθηκεύεται το νούμερο των αποτελεσμάτων. Παραδείγματα συνδιασμών λέξεων που χρησιμοποιώ: w1: good, w2: paper, e:excellent w1: good, w2: paper, e:poor w1: first, w2: submission, e:excellent w1: first, w2: submission, e:poor Ευχαριστώ εκ των προτέρων Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
warchief Δημοσ. 7 Απριλίου 2011 Share Δημοσ. 7 Απριλίου 2011 Αντι για την sed για δοκιμασε κάτι αντίστοιχο με awk: > foo='<span class="count"><strong id="resultCount">2,980,000</strong> results for</span>' echo $foo | awk -F'<strong id="resultCount">' '{ print $2 }' | awk -F'</strong>' '{ print $1 }' Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
toyotaki Δημοσ. 7 Απριλίου 2011 Μέλος Share Δημοσ. 7 Απριλίου 2011 Σε ευχαριστώ πολύ!!! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.