Ερώτηση για σκριπτ (google translate-dictionary)

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Ερώτηση για σκριπτ (google translate-dictionary)

Δημοσίευσηαπό malos » 19 Μάιος 2010, 00:14

Ξέρετε πως να πάρω από μία σελίδα ένα κομάτι κειμένου της μέσω bash ;

Για να καταλάβετε τι εννοώ.
Με τo πιο κάτω σκριπτάκι παίρνω την IP μου

Κώδικας: Επιλογή όλων
#!/bin/bash

IP=$(curl -s http://checkip.dyndns.org/ | sed 's/[^[:digit:]\.]//g')

zenity --width=215 --height=255 --info --text="IP: $IP" &


Το zenity αφήστε το. Δεν είναι αυτό το ζητούμενο. Το ζητούμενο είναι πως με την curl ή όποιο άλλο πρόγραμμα
μπορώ να πάρω έξοδο από σελίδα που μπορείς να βάλεις δεδομένα. Αυτή τη σελίδα συγκεκριμένα http://translate.google.gr/#en|el|
Επεξεργαστής: AMD Ryzen 9 5900x
Μνήμη Gskill 16gb (2X8gb), 3200 mh, CL 14
Μητρική: Asrock X570 phantom gaming X
Τροφοδοτικό: Corsair 850 platinum
Δίσκος: SSD Corsair MP600 (1 TB)
Άβαταρ μέλους
malos
saintTUX
saintTUX
 
Δημοσιεύσεις: 1251
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό ftso » 30 Μάιος 2010, 08:39

Αν και λίγο καθυστερημένα :)
Κάτι τέτοιο θες...?
Κώδικας: Επιλογή όλων
word=test ; curl -A 'Mozilla/5.0' -s 'http://www.google.gr/dictionary?aq=f&langpair=en|el&q='$word | grep '<meta name="description"' | sed 's/<meta name="description" content="/ /' | sed 's/- Η δωρεάν διαδικτυακή υπηρεσία λεξικού της Google.">/ /g'


Αποτέλεσμα...
Κώδικας: Επιλογή όλων
test : μέσο δοκιμής, δοκιμή, κριτήριο, όστρακο, εξέταση, εξετάσεις, δοκιμάζω
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό vesnikos » 30 Μάιος 2010, 14:24

nice δεν γνώριζα το sed...

και αν μπορείς και έχεις χρόνο: πως διαχωρίζεις το output string , σε πολλαπλά; πχ . s1 = μέσο δοκιμής , s2 = εξέταση κλπ;
vesnikos
babeTUX
babeTUX
 
Δημοσιεύσεις: 23
Εγγραφή: 18 Ιουν 2009, 16:16
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό ftso » 30 Μάιος 2010, 18:01

Κάτι πρόχειρο...

Κώδικας: Επιλογή όλων
word=test ; tran=$(curl -A 'Mozilla/5.0' -s 'http://www.google.gr/dictionary?aq=f&langpair=en|el&q='$word | grep '<meta name="description"' | sed 's/<meta name="description" content="/ /' | sed 's/- Η δωρεάν διαδικτυακή υπηρεσία λεξικού της Google.">/ /g' | sed 's/^.*:/ /g' | sed 's/, /,/g' | sed 's/^. //g') ; IFS="," ; i=0 ; for entry in $tran ; do array[$i]="$entry" ; let i++ ; done ; IFS=" ";


Κώδικας: Επιλογή όλων

echo ${array[*]}
μέσο δοκιμής δοκιμή κριτήριο όστρακο εξέταση εξετάσεις δοκιμάζω
echo ${array[0]}
μέσο δοκιμής
echo ${array[1]}
δοκιμή
echo ${array[2]}
κριτήριο
.
.
.
.
.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό malos » 30 Μάιος 2010, 23:25

@ftso :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow:

:thumbup: :thumbup: :thumbup:

Άλλη μια φορά μου έχεις δώσει έτοιμη λύση ρε φίλε !!!! Είσαι άρχοντας !

Αν δεν βαριέσαι όποτε γουστάρεις κοίτα το τι ακριβώς Θέλω να κάνω http://forum.greeklug.gr/viewtopic.php?f=54&t=554.

Αν και διάβασα το man της curl και σαν να θυμάμαι ότι έλεγε κάτι σχετικά με το να στέλνεις ταυτότητα.
Αλλά ήμουν πολύ μακριά από το curl -A και από το Mozila Firefox 5.0. Φαντάζομαι ότι θα μπορείς να δηλώσεις και Konqueror ε;

Τώρα να σου πω :?:

Κώδικας: Επιλογή όλων
#!/bin/bash
word=love
action=$(curl -A 'Mozilla/5.0' -s 'http://www.google.gr/dictionary?aq=f&langpair=en|el&q='$word | grep '<meta name="description"' | sed 's/<meta name="description" content="/ /' | sed 's/- Η δωρεάν διαδικτυακή υπηρεσία λεξικού της Google.">/ /g' | sed 's/^.*:/ /g' | sed 's/, /,/g' | sed 's/^. //g')
notify-send $action
espeak -v el -p 4 -s 130 $action


Αυτό είναι το σκριπτάκι που θέλω να κάνω. Τι γίνεται με input στη μεταβλητή word εξωτερικά καλώντας το πρόγραμμα ;
Επεξεργαστής: AMD Ryzen 9 5900x
Μνήμη Gskill 16gb (2X8gb), 3200 mh, CL 14
Μητρική: Asrock X570 phantom gaming X
Τροφοδοτικό: Corsair 850 platinum
Δίσκος: SSD Corsair MP600 (1 TB)
Άβαταρ μέλους
malos
saintTUX
saintTUX
 
Δημοσιεύσεις: 1251
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό ftso » 30 Μάιος 2010, 23:35

Βάλε τα παρακάτω σε ένα αρχείο και κάνε το εκτελέσιμο...
Κώδικας: Επιλογή όλων
#!/bin/bash
notif=`curl -A 'Mozilla/5.0' -s 'http://www.google.gr/dictionary?aq=f&langpair=en|el&q='$1 | grep '<meta name="description"' | sed 's/<meta name="description" content="/ /' | sed 's/- Η δωρεάν διαδικτυακή υπηρεσία λεξικού της Google.">/ /g' | sed 's/^.*:/ /g'` ; notify-send -t 30000 -i /usr/share/locale/l10n/gr/flag.png $1 "$notif"
exit 0;


Δώσε όνομα trans (ή κάτι άλλο που να μην υπάρχει) και βάλτο μέσα στο /usr/bin

Μετά εκτελείς απλά trans <λέξη αγγλική ή ελληνική> και βουαλά :D
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό ftso » 30 Μάιος 2010, 23:42

Αν θες και το espeak πάνω απο το exit 0 βάλε την γραμμή:
Κώδικας: Επιλογή όλων
espeak -v el -p 4 -s 130 "$notif"


Δηλαδή:
Κώδικας: Επιλογή όλων
#!/bin/bash
notif=`curl -A 'Mozilla/5.0' -s 'http://www.google.gr/dictionary?aq=f&langpair=en|el&q='$1 | grep '<meta name="description"' | sed 's/<meta name="description" content="/ /' | sed 's/- Η δωρεάν διαδικτυακή υπηρεσία λεξικού της Google.">/ /g' | sed 's/^.*:/ /g'` ; notify-send -t 30000 -i /usr/share/locale/l10n/gr/flag.png $1 "$notif"
espeak -v el -p 4 -s 130 "$notif"
exit 0;
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό ftso » 31 Μάιος 2010, 00:03

malos έγραψε:Φαντάζομαι ότι θα μπορείς να δηλώσεις και Konqueror ε;

Μάλλον όχι καθώς και ο konqueror, Mozilla/5.0 δηλώνει.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό malos » 31 Μάιος 2010, 00:08

Ημίθεος !!!

Μπορούμε τώρα το $1 να το κάνουμε να παίρνει όλη τη φράση (με κενά) ;
Επεξεργαστής: AMD Ryzen 9 5900x
Μνήμη Gskill 16gb (2X8gb), 3200 mh, CL 14
Μητρική: Asrock X570 phantom gaming X
Τροφοδοτικό: Corsair 850 platinum
Δίσκος: SSD Corsair MP600 (1 TB)
Άβαταρ μέλους
malos
saintTUX
saintTUX
 
Δημοσιεύσεις: 1251
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Ερώτηση για σκριπτ

Δημοσίευσηαπό ftso » 31 Μάιος 2010, 00:16

Δηλαδή να δίνεις φράση αντί για λέξη?
Αυτό δεν το υποστιρίζει το http://www.google.gr/dictionary
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Επόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι