DK.log Napisano Czerwiec 3, 2009 Zgłoszenie Share Napisano Czerwiec 3, 2009 Witam. Całe popołudnie meczę się z pewnym skryptem. Skrypt ma za zadanie: 1) pobrać 12 linijkę z kilkunastu / kilkudziesięciu plików tekstowych (dokładnie html) 2) wyciąć z tych linijek frazę <link rel="image_src" href=" (ew. x pierwszych znaków - w tym wypadku tabulator i 27 znaków łącznie ze spacjami 3) następnie na końcu takiej linijki zamienić frazę _m.jpg"> na .jpg (np. usunąć ostatnie 6 znaków i zastąpić je frazą .jpg albo poprostu wyciąć 5 i 6 znak od końca) 4) tak powstałe linijki (a w zasadzie linki) kolejno uruchomić jakimkolwiek downloader'em (np. KGet'em) Jak dotąd udało mi się tylko wyodrębnić 12tą linijkę poleceniem: sed -n '12p;12q' nazwa_pliku.html Próbowałem dla ułatwienia przypisać ją do zmiennej poleceniem MOJAZMIENNA=$(sed -n '12p;12q' nazwa_pliku.html) Taką zmienna mogę od razu przekierować do nowego pliku poleceniem echo $MOJAZMIENNA >> plik.txt Później mógłbym pracować na nowym pliku np. sed'em i do obróbki tak powstałego pliku używać jakiś poleceń sed'a, które działają na każdym wierszu, ale manuale sed'a, które czytał sa dla mnie mało zrozumiałe i nie potrafię dobrać parametrów polecenia. Nadal nie wiem też jak później taki skrypt uruchomić dla dowolnej ilości plików o tym samym rozszerzeniu. Może ma ktoś jakiś pomysł, sugestię?? Dobrze i przystępnie opisanego sed'a?? Będę wdzięczny za jakąś pomoc. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Arabski Napisano Czerwiec 3, 2009 Zgłoszenie Share Napisano Czerwiec 3, 2009 Dokładnie Ci nie podpowiem co i jak, ale masz tu dwa sznurki: ściągawka z sed'a -> http://sed.sourceforge.net/sed1line.txt jak "obrałem" kiedyś jedną stronkę z jpegów -> http://enter.chip.pl/forum/viewtopic.php?p=296321#296321 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
maiKel Napisano Czerwiec 4, 2009 Zgłoszenie Share Napisano Czerwiec 4, 2009 hmm, a moze #!/bin/bash for i in *.html; do NAZWA=`head -n12 "$i" | tail -n1 | sed -e 's/<link rel="image_src"\ href="//g' -e 's/_m\.jpg/\.jpg/g'` echo $NAZWA >> plik.txt to, z jakimiś poprawkami powinno wyciągać pierwsze 12 linijek z pliku później z tych 12 wyciągnąć 1 ostatnią, teraz sed pierwsze polecenie usuwa ciąg znaków ...link... a drugie zamienia _m.jpg na samo .jpg, całość zapisuje do pliku ;] zamiast listy (for i in *.html) można by wstawić np. zmienna $1, co dało by to że skrypt uruchomiony z parametrem określającym nazwę katalogu to z tego katalogu pobierał by pliki do obróbki, nie wiem jakie masz pliki więc czy dobrze jest to napisane to nie wiem:P czas spać Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
DK.log Napisano Czerwiec 4, 2009 Autor Zgłoszenie Share Napisano Czerwiec 4, 2009 Dzięx MaiKel. Wiesz... wygląda bardzo sensownie i założę się, że powinno działać, ale jak zapisuje to do pliku i uruchamiam konsola wypisuje błąd: ./skrypt: line 5: syntax error: unexpected end of file Skoro "plik zakończył się niespodziewanie" to nie wiem, co czego w nim brakuje Dzięki za gotowca... mam nadzieje, że nie nadwyrężam?? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
multics Napisano Czerwiec 4, 2009 Zgłoszenie Share Napisano Czerwiec 4, 2009 może prostego done na końcu skryptu? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
DK.log Napisano Czerwiec 4, 2009 Autor Zgłoszenie Share Napisano Czerwiec 4, 2009 (edytowane) Ok. Faktycznie brakowało done... Dopiero zaczynam zabawę ze skryptami... wiem, że moje pytanie wydają się innym banalne... każdy kiedyś zaczynał... To jest zawartość wygenerowanego pliku txt: http://farm4.static.flickr.com/3104/2808289693_8798cc3865.jpg"> http://farm4.static.flickr.com/3038/2794251652_85faf28ea1.jpg"> <a href=http://farm4.static.flickr.com/3196/2843338440_d16ab1061b.jpg>link</a> Jak widać chyba coś nie do końca działa jak trzeba... Jakieś sugestię?? Szczerze, mówiąc pliki html były tylko dwa i pierwsze 2 linijki pochodzą właśnie z nich. Nie bardzo wiem skąd wzięła się trzecia linijka? Jeśli o mnie chodzi to nie miałbym nic przeciwko gdyby każda linijka wyglądała jak ta trzecia. Edytowane Czerwiec 6, 2009 przez WalDo Zmiana znmacznikow quote na code Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Czerwiec 4, 2009 Zgłoszenie Share Napisano Czerwiec 4, 2009 No chwila: skrypt maiKel-a obiera z tagów <link ...>, i to tylko z ich początkowych znaczników. A w trzeciej linijce masz nie <link >, tylko <a >. Nic dziwnego, że nic z nią nie zrobił. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
maiKel Napisano Czerwiec 5, 2009 Zgłoszenie Share Napisano Czerwiec 5, 2009 no spoko, fajnie że w miarę mi się udało bo nawet nie sprawdziłem czy to będzie działać myślałem że już sobie poradzisz jak dam ci taki przykład, ale skoro tak to wygląda to teraz można to przerobić jakoś, nie wiem, no może tak: #!/bin/bash for i in *.html; do NAZWA=`head -n12 "$i" | tail -n1 | sed -e 's/<.*http:\/\//http:\/\//g' -e 's/.jpg.*/.jpg/g' -e "s/_m.jpg/.jpg/g"` echo "$NAZWA" >> plik.txt; done ale nie wiem czemu w wyniku wyszedł link z 3 kropkami... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
DK.log Napisano Czerwiec 5, 2009 Autor Zgłoszenie Share Napisano Czerwiec 5, 2009 Link jest z trzema kropkami bo skróciło go już tu na forum... w pliku wynikowym jest bez kropek. Za chwilkę sprawdzę działanie twojego skryptu po modyfikacji i dam znać... tzn. nie tak za chwilkę bo skrypt php nie chce mi działać a na jutro muszę oddać projekt, więc jestem troszkę zajęty, ale dziękuje bardzo za pomoc i obiecuję kontynuacje tematu. Jeśli jesteś w stanie pomóc mi również z problemem dot. skryptu to napisz... chętnie wyślę Ci "flakon dobrego alko" w prezencie jeśli mi pomożesz z tym php'em... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
maiKel Napisano Czerwiec 6, 2009 Zgłoszenie Share Napisano Czerwiec 6, 2009 sam bym się chętnie pouczył php, ale zbliża się sesja no i obrona licencjata więc nie mam nawet jak Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Czerwiec 6, 2009 Zgłoszenie Share Napisano Czerwiec 6, 2009 Off Topic Link jest z trzema kropkami bo skróciło go już tu na forum...Stosuj odpowiednie znaczniki i nic nie będzie skracało 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ę