grep wybiera linie rozdzielone znakami (np. powrotu karetki i wiersza), odpowiedź HTML nie ma linii z tekstem ze znacznikami takimi jak <br> lub <p>, więc cała strona internetowa może wyglądać jak jedna linia do grep
RedGrittyBrick
1
@RedGrittyBrick Polecenie OP działa dla mnie bezbłędnie.
slhck
Odpowiedzi:
11
Najprostszym sposobem jest skorzystanie curlz opcji -sza cichy:
@slhck: Oba polecenia robią dla mnie dokładnie to samo.
Dennis
@Dennis Spróbuj curling http://superuser.com/questions/431581. Z jakiegokolwiek powodu przetestowałem go z tym konkretnym adresem URL i nie otrzymałem danych wyjściowych. Nie wiem czego mi brakuje.
slhck
@slhck: Curl domyślnie nie śledzi przekierowań. Robi to z -Lprzełącznikiem.
Dennis
@Dennis Nie wiedziałem, o czym mówisz, nie widząc usuniętych komentarzy - ale tak, to ma sens. Dzięki za wyjaśnienie.
slhck
1
Pytanie dotyczy wget. Nie zwija się To nie zadziała z wieloma przekierowaniami i opcją -L.
Odpowiedzi:
Najprostszym sposobem jest skorzystanie
curl
z opcji-s
za cichy:źródło
curl
inghttp://superuser.com/questions/431581
. Z jakiegokolwiek powodu przetestowałem go z tym konkretnym adresem URL i nie otrzymałem danych wyjściowych. Nie wiem czego mi brakuje.-L
przełącznikiem.Trzymanie tego ze względu na kompletność.
Twój przykład powinien faktycznie działać. Składnia jest poprawna, a oto
wget
zrzut ekranu, który właśnie zademonstrowałem , ze starym dobrym GNU 1.13.4.Załóż więc, że twój wzór jest nieprawidłowy i
grep
po prostu wyświetli wszystko, co uzyska.źródło
-q
nie ma komunikatu o błędzie.Ten błąd został w wersji 1.1.12.1 naprawiony w innej wersji . Obecnie używam wersji 1.15 i działa zgodnie z oczekiwaniami.
źródło
Jeśli szukasz nagłówków grep lub pipe, są one standardowo kierowane do stderr, więc musisz je przekierować. Na przykład:
źródło
wget
Pisze jego wyjściestderr
niestdout
, więc trzeba przekierowaćstderr
dostdout
:źródło