Jak wykonać grep na FTP?

Odpowiedzi:

5

Standardowy protokół ftp nie pozwala na to (możesz sprawdzić listę poleceń ). Musisz więc pobrać wszystko, aby móc na nim grep.

Stéphane Gimenez
źródło
5

Możesz użyć curlftpfs do zamontowania zdalnego ftp jako dysku lokalnego i manipulowania plikami jak na komputerze lokalnym.

wysypka
źródło
2
Podobnie jak w przypadku wszystkiego, co jest oparte na montowaniu, oznacza to, że przeniesiesz całe dane do własnego hosta.
Stéphane Gimenez
1
Tak, to będzie. Ale zależy to również od zadania, które musisz wykonać. Kiedy potrzebujesz grep, w większości przypadków możesz zignorować pliki nietekstowe (i nie będą one przesyłane) i być może część plików tekstowych. W takim przypadku Twój całkowity rozmiar transferu może być mniejszy niż w przypadku przesyłania całych danych ze zdalnej strony.
pędzi
4

Aby to zrobić, należy lokalnie zamontować zdalny katalog FTP, należy jednak pamiętać, że wszystkie pliki grep będą musiały zostać pobrane do tej operacji.

SSH do zdalnego komputera i uruchom grep, jeśli to możliwe, aby zaoszczędzić przepustowość.

WhyNotHugo
źródło
0

Zakładając, że używasz prostego ftp za pomocą wiersza poleceń, użyj polecenia dir z opcją -Rl, aby wyszukać rekursywnie i skopiować go do pliku, a następnie przeszukać plik za pomocą grep, find lub w inny sposób obsługiwany w twoim systemie operacyjnym.

ftp> dir -Rl education.txt
output to local-file: education.txt? y
227 Entering Passive Mode (9,62,119,15,138,239)
150 Opening ASCII mode data connection for file list
226 Transfer complete
SmitaK
źródło
0

Używając lftp

Najpierw weź wszystko od ftp do pliku

$ lftp http://downloads.site.com/sources> find . > sources-list.txt

Następnie wykonaj grep na pliku:

$ grep FILE sources-list.txt
cy8g3n
źródło