Próbuje napisać wyrażenie regularne które zmusi seda do “wyciągnięcia” z dokumentu strona.html wszystkich linków zaczynających się od http://hotfile.com/dl/ a kończących na html i przekazaniu ich do pliku lista.txt.
Jednak komenda
sed -e ^(http://hotfile.com/dl/)0-9]{8}/[a-z0-9]{7}/[a-zA-Z0-9_]{5,70}$html strona.html > la.txt
Tak poza tym, jeśli ma pasować do końca linii html, to powinno być html$, a nie $html, natomiast adres w nawiasie jest błędem, ponieważ sed tego nie rozpoznaje jako polecenie, a traktuje jako znak wyrażenia.
Nie wierzę ci, sprawdzałem mój kod i wszystko działa. Napisałem ci, że musisz analizować nad przebiegiem działań, co zrobiłem kod. Krok po kroku i działa (jeśli nie działa, możesz cofnąć i dokonać modyfikacji)!
Oto poprawka, zlikwidowałem parę symboli “[]{}” i zastąpiłem na nieokreślony wystąpień do końca “html”:
sed -ne 's@^.*\(http\:\/\/hotfile.com\/dl\/.*\/.*\/.*\.html\).*@\1@p'
Rejestrując się na niniejszym forum zobowiązałeś się przestrzegać jego regulaminu. Niestety, w tym momencie łamiesz go nie tytułując poprawnie tematu. Proszę zapoznać się w pierwszej kolejności z regulaminem forum, a następnie z tym tematem. Po zapoznaniu się proszę poprawić tytuł tematu, używając przycisku