Forum Linux.pl

Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: psyduck w 2014-01-27, 21:28:26

Tytuł: Analizowanie danych z witryny internetowej (grep + sed)
Wiadomość wysłana przez: psyduck w 2014-01-27, 21:28:26
Witam, potrzebuję pobrać IP mojego komputera ze strony mojeip.net. Wykonuję polecenie:
 
lynx mojeip.net | grep -o "Twoje IP:.*"

Twoje IP: 188.127.6.180
Wszystko pięknie, ale potrzebuję jeszcze pozbyć się "Twoje IP: " oraz przekierować wynik na przykład do jakiegoś pliku. W tym celu wykonuję:
lynx mojeip.net | grep -o "Twoje IP:.*" | sed 's/Twoje IP: //' /home/psyduck/dawid.txt
Niestety w drugim przypadku skrypt się zatrzymuje, kursor miga ale nic się nie wykonuje. Jeśli usunę plik, to dostaję błąd, że nie ma takiego pliku, więc kwestia dostępu odpada... sed po prostu nie wpisuje wyniku, lub wynik jest pusty. Proszę o poradę co robię źle.

pozdrawiam
Tytuł: Analizowanie danych z witryny internetowej (grep + sed)
Wiadomość wysłana przez: vanhelzing w 2014-01-27, 22:04:17
Spróbuj czegoś takiego:
echo "Twoje IP: 192.168.0.1" | sed -n "s/Twoje IP:[ \\t\\n\\r]*\\([0-9\\.]*\\)/\\1/pi"
Tytuł: Analizowanie danych z witryny internetowej (grep + sed)
Wiadomość wysłana przez: psyduck w 2014-01-27, 22:15:30
Z echem to będzie działało, ale jak to zrobić aby wczytało to co wypluje grep? Chodzi o to aby jednym skryptem pobrać Ip ze strony zapisać do pliku...
Tytuł: Analizowanie danych z witryny internetowej (grep + sed)
Wiadomość wysłana przez: vanhelzing w 2014-01-27, 22:33:51
Musisz uruchomić lynksa w trybie nieinteraktywnym (opcja -dump).
lynx -dump mojeip.net | sed -n "s/.*twoje ip: \\([0-9\\.]*\\)/\\1/pi" > plik.txt
Tytuł: Analizowanie danych z witryny internetowej (grep + sed)
Wiadomość wysłana przez: psyduck w 2014-01-27, 22:59:10
Działa :) Dzięki śliczne :)

pozdrawiam