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?


Antworten:



5

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


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.


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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.