Wie führe ich grep auf FTP durch?

10

Ich habe versucht, nach einem ähnlichen Befehl in zu suchen ncftp(tatsächlich ist dies der einzige Terminal-FTP-Client, den ich verwendet habe) und habe ihn nicht gefunden.

Wie kann (wenn überhaupt möglich) der grepBefehl auf dem Remote-Server verwendet werden, um nach Zeichenfolgen in Dateien zu suchen?

Bojan Savic
quelle
Ebenfalls verwandt: Suche in Dateien auf einer Remote-FTP-Site
Stapelüberlauf

Antworten:

5

Das Standard-FTP-Protokoll erlaubt dies nicht (Sie können die Liste der Befehle überprüfen ). Sie müssten also alles herunterladen, um darauf zugreifen zu können.

Stéphane Gimenez
quelle
5

Sie können curlftpfs verwenden , um Remote-FTP als lokale Festplatte bereitzustellen und mit Dateien wie auf Ihrem lokalen Computer zu bearbeiten.

eilen
quelle
2
Wie bei allem, was Mount-basiert ist, bedeutet dies, dass Sie die gesamten Daten auf Ihren eigenen Host übertragen.
Stéphane Gimenez
1
Ja, es wird. Es hängt aber auch von der Aufgabe ab, die Sie ausführen müssen. Wenn Sie in den meisten Fällen etwas grep benötigen, können Sie Nichttextdateien (und sie werden nicht übertragen) und möglicherweise einen Teil von Textdateien ignorieren. In diesem Fall ist Ihre Summenübertragungsgröße möglicherweise geringer als in dem Fall, in dem Sie die gesamten Daten vom Remote-Standort übertragen.
Eile
4

Sie sollten das Remote-FTP-Verzeichnis lokal bereitstellen, um dies zu tun. Beachten Sie jedoch, dass alle Dateien, die Sie suchen , für diesen Vorgang heruntergeladen werden müssen.

SSH in den Remote-Computer und führen Sie dort, wenn möglich, grep durch, um Bandbreite zu sparen.

WhyNotHugo
quelle
0

Angenommen, Sie verwenden einfaches FTP über die Befehlszeile. Verwenden Sie den Befehl dir mit der Option -Rl, um rekursiv zu suchen und in eine Datei zu kopieren, und durchsuchen Sie die Datei dann mit grep, find oder wie auch immer dies auf Ihrem Betriebssystem unterstützt wird.

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
quelle
0

Durch die Nutzung lftp

Holen Sie sich zuerst alles von FTP bis Datei

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

Führen Sie als Nächstes grep on file aus:

$ grep FILE sources-list.txt
cy8g3n
quelle