ZajOnDz Napisano Kwiecień 28, 2011 Zgłoszenie Share Napisano Kwiecień 28, 2011 Witam. W pierwszej kolejności chciałbym się przywitać, bo jestem tu nowy - Cześć wszystkim A teraz sprawa. Potrzebuję wyciąć w bash-u tekst pomiędzy tagami HTML np. <dt>Temperatura</dt><dd>20 C</dd> Strona z której potrzebuję pobrać dane - http://e-wczasowicz.pl/pogoda,dzisiaj,bielsk,podlaski,1490.html Chodzi mi o samą temperaturę "20 C". Znalazłem w necie sporo różnych sposobów, ale zwykle wycinało mi razem z tagami, albo wycinało pół strony... ^^ Potrzebuje tego, żeby wyciągnąć pogodę swojego miasta do Conky-ego. Wiem, są już gotowe skrypty, ale One pobierają pogodę dużych miast, a ja mieszkam w sumie w małej mieścinie i chciałbym mieć własną pogodę. Aktualnie mam zrobione tak: grep --max-count=1 "<dt>Temperatura</dt><dd>" pogoda,dzisiaj,bielsk,podlaski,1490.html | cut --bytes=35-37 Ogólnie nie jest źle, ale gdy temperatura spada do jednocyfrowej wartości to wycina mi jeszcze " < ", a czasami to w ogóle mi cyrki wyświetla... Jakby udało mi się to zrobić to udostępniłbym config Conky-ego, bo w sumie ładnie mi wyszedł, sami zobaczcie - Byłbym niezmiernie szczęśliwy, gdyby ktoś mi pomógł Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neometal Napisano Kwiecień 28, 2011 Zgłoszenie Share Napisano Kwiecień 28, 2011 Tak na szybko : | cut -d '>' -f 4 |cut -d '<' -f1 Choć można to zrobić bardziej elegancko. A config Conkiego możesz wrzucić nawet jeśli temperatura nie będzie podawana poprawnie, bo faktycznie ładnie Ci to wyszło Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ZajOnDz Napisano Kwiecień 28, 2011 Autor Zgłoszenie Share Napisano Kwiecień 28, 2011 Człowieku... Jesteś wielki Teraz tylko przygotuje mały opis co gdzie zmienić i mogę udostępnić config Ale... Na razie muszę iść drzewa na rąbać Dzięki wielkie Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
thof Napisano Kwiecień 28, 2011 Zgłoszenie Share Napisano Kwiecień 28, 2011 grep --max-count=1 "<dt>Temperatura</dt><dd>" pogoda,dzisiaj,bielsk,podlaski,1490.html | cut --bytes=35-37 Zapis "pogoda,dzisiaj,bielsk,podlaski,1490.html" wygląda podejrzanie. Jak to ściągasz? Najlepiej curlem: curl -s http://e-wczasowicz.pl/pogoda,dzisiaj,bielsk,podlaski,1490.html | grep -m1 "<dt>Temperatura</dt><dd>" | cut -d '>' -f 4 |cut -d '<' -f1 Lub tylko grepem: curl -s http://e-wczasowicz.pl/pogoda,dzisiaj,bielsk,podlaski,1490.html | grep -m1 "<dt>Temperatura</dt><dd>" | grep -oE "[[:digit:]]{1,}" Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ZajOnDz Napisano Kwiecień 28, 2011 Autor Zgłoszenie Share Napisano Kwiecień 28, 2011 Sciagam przez wget, ale zmienilem juz troche. W conky-m na poczatku ${execi 60 wget --output-document=pogoda.html http://e-wczasowicz.pl/pogoda,dzisiaj,bielsk,podlaski,1490.html} a pózniej jak pobieram jakies dane to np. ${execi 60 grep --max-count=1 "Predkosc wiatru" pogoda.html | cut -d '>' -f 4 |cut -d '<' -f1} A na koncu oczywiscie usuwam ${execi 60 rm pogoda.html} @edit Wrzucilem juz paczke na http://gnome-look.org/content/show.php?content=141258 jakby ktos chcial... Pozdrawiam. 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Kwiecień 28, 2011 Zgłoszenie Share Napisano Kwiecień 28, 2011 sed version: curl -s 'http://e-wczasowicz.pl/pogoda,dzisiaj,bielsk,podlaski,1490.html' | sed -n 's:.*<dt>Temperatura</dt><dd>\([0-9]*\) *[°C]*</dd>.*:\1:p' Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neometal Napisano Kwiecień 28, 2011 Zgłoszenie Share Napisano Kwiecień 28, 2011 sed version: curl -s 'http://e-wczasowicz.pl/pogoda,dzisiaj,bielsk,podlaski,1490.html' | sed -n 's:.*<dt>Temperatura</dt><dd>\([0-9]*\) *[°C]*</dd>.*:\1:p' Czekalem az ktos to w jedno polecenie wrzuci i jakos tak czulem ze to bedziesz Ty EDIT: Ale wycinasz równiez "C", a kolega chcial zostawic. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ZajOnDz Napisano Kwiecień 28, 2011 Autor Zgłoszenie Share Napisano Kwiecień 28, 2011 Ale wycinasz również "C", a kolega chciał zostawić. Wycina C, bo Conky nie rozpoznaje HTML-owego zapisu stopni i wyświetla jako zwykły tekst ° W configu Conky również tak zrobiłem, a C dodałem ręcznie P.s. mały offtop:p Pobierajcie config i oceniajcie. A ja od jutra biorę się za kolejny projekt Pozdrawiam i dziękuje za odpowiedzi Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Kwiecień 29, 2011 Zgłoszenie Share Napisano Kwiecień 29, 2011 Tak na szybko: lewa strona wyklada sie na maszynach jednoprocesorowych. Ciekawe jak jest przy 4 rdzeniach, ale nie mam czasu teraz popatrzec. Conky: obj->data.i 2 info.cpu_count 1 Conky: attempting to use more CPUs than you have! Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ZajOnDz Napisano Kwiecień 29, 2011 Autor Zgłoszenie Share Napisano Kwiecień 29, 2011 Tak na szybko: lewa strona wykłada się na maszynach jednoprocesorowych. Ciekawe jak jest przy 4 rdzeniach, ale nie mam czasu teraz popatrzeć. Conky: obj->data.i 2 info.cpu_count 1 Conky: attempting to use more CPUs than you have! Wykłada sie, bo jest robiona pod dwa procesory. Musisz usunąć drugi procesor z configu z pliku ~/conky/conky_lewa i z ~/.conky/.lua/scripts/lewa.lua Wiesz, zawsze przy pobieraniu czyjegoś configu trzeba go dostosować do swojego kompa... Później może przygotuję paczkę pod jeden procek... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Kwiecień 29, 2011 Zgłoszenie Share Napisano Kwiecień 29, 2011 To, ze trzeba dostosowac jest oczywiste. Warto jednak pewne podstawowe sprawy opisac w instrukcji. wyszukiwanie w pliku mija sie wg mnie z celem. Jesli ktos potrafi bez pomocy zmodyfikowac plik, to równie dobrze moze napisac wlasny konfig Chodzi mi o proste, czytelne instrukcje typu: "jesli masz 1 procesor, to usun linie od 73 do 80 w pliku .conky/conky_lewa". Przecietny uzytkownik widzac takie "kwiatki" jak wkleilem powyzej powie "ale shit" i przejdzie do wyszukiwania konfiguracji, która albo zastosuje bez poprawek albo takiej, w której poprawki sa jasno opisane. Chciales uwag, wiec niniejszym zglaszam. P.S. pozostawianie w kodzie wyrazów niecenzuralnych (nawet w formie nazw zmiennych) nie nalezy do dobrych obyczajów programistycznych Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ZajOnDz Napisano Kwiecień 29, 2011 Autor Zgłoszenie Share Napisano Kwiecień 29, 2011 P.S. pozostawianie w kodzie wyrazów niecenzuralnych (nawet w formie nazw zmiennych) nie należy do dobrych obyczajów programistycznych O kurna.. xD Zapomniałem... Jak się bawiłem w przerabianiu to tak tymczasowo dałem xD Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
m123456 Napisano Kwiecień 29, 2011 Zgłoszenie Share Napisano Kwiecień 29, 2011 ... P.s. maly offtop:p Pobierajcie config i oceniajcie. A ja od jutra biore sie za kolejny projekt Pozdrawiam i dziekuje za odpowiedzi Swietne sie prezentuja Twoje konfig. Na KDE, aby uzyskac przezroczystosc i wyswietlanie na wszystkich pulpitach musialem wprowadzic kilka zmian..., ale do rzeczy: Aby Conky uruchamial sie przy starcie systemu dodaj do Programów Startowych dwa wpisy /home/twoja_nazwa_uzytkownika/.conky/conky_start_lewa /home/twoja_nazwa_uzytkownika/.conky/conky_start_prawa Zaproponowalbym jeden skrypt uruchamiajacy dwa pliki konfiguracyjne, dodany do "Programów Startowych". #!/bin/bash sleep 10 conky -d -c ~/.conky/conky_lewa conky -d -c ~/.conky/conky_prawa /edit: Z Twojego konf. ...sensors | grep "Vcore:" | cut --bytes=14-18} "bawisz" sie w wycinanke... ...sensors | grep "Vcore:" | awk '{print $3}'} V awk wydaje sie byc bardziej paktyczne (?). Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
thof Napisano Kwiecień 29, 2011 Zgłoszenie Share Napisano Kwiecień 29, 2011 A ten config nie jest interpretowany przez jakąś powłokę? Nie można używać instrukcji warunkowych? Jeśli można to liczbę procesorów można przecież sprawdzać i inne zmienne rzeczy również. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Kwiecień 29, 2011 Zgłoszenie Share Napisano Kwiecień 29, 2011 Jesli mozna to liczbe procesorów mozna przeciez sprawdzac i inne zmienne rzeczy równiez. O ile pamietam conky ma chyba mozliwosc uruchamiania skryptów zewnetrznych, wiec badanie liczby procesorów jest jak najbardziej mozliwe, ale nie wiem jak jest ze zwracaniem zmiennych.W sumie mozna by sie pokusic równiez o sprawdzanie geoip i na tej podstawie wyszukiwac region w "pogodynce" Oczywiscie z mozliwoscia zmiany przez uzytkownika, jesli automat nie trafi. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się