Как выполнить grep на FTP?

10

Я попытался найти подобную команду в ncftp(на самом деле это единственный терминал-клиент FTP, который я использовал), и я не нашел ее.

Как можно (если вообще возможно) использовать grepкоманду на удаленном сервере для поиска строк в файлах?

Боян Савич
источник

Ответы:

5

Стандартный протокол FTP не позволяет этого (Вы можете проверить список команд ). Таким образом, вам нужно будет загрузить все, чтобы иметь возможность использовать его.

Стефан Хименес
источник
5

Вы можете использовать curlftpfs для монтирования удаленного ftp как локального диска и манипулирования файлами как на вашем локальном компьютере.

порыв
источник
2
Как и все, что основано на монтировании, это означает, что вы будете передавать все данные на свой собственный хост.
Стефан Гименес
1
Да, это будет. Но это также зависит от задачи, которую вам нужно выполнить. Когда вам нужно что-то grep, в большинстве случаев вы можете игнорировать нетекстовые файлы (и они не будут передаваться) и, возможно, часть текстовых файлов. Таким образом, в этом случае размер вашей суммы может быть меньше, чем в случае, если вы будете передавать все данные с удаленного сайта.
пик
4

Вы должны локально смонтировать удаленный каталог FTP, чтобы сделать это, однако, имейте в виду, что все файлы, которые вы grep , должны быть загружены для этой операции.

SSH в удаленную машину и запустите grep, если возможно, чтобы сэкономить пропускную способность.

WhyNotHugo
источник
0

Предполагая, что вы используете простой ftp через командную строку, используйте команду dir с параметром -Rl, чтобы выполнить рекурсивный поиск и скопировать его в файл, а затем выполнить поиск файла, используя grep, find или любой другой способ, поддерживаемый в вашей ОС.

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
источник
0

Используя lftp

Сначала захватите все от ftp до файла

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

Далее выполните grep для файла:

$ grep FILE sources-list.txt
cy8g3n
источник