¿Cómo realizar grep en FTP?

Respuestas:

5

El protocolo ftp estándar no lo permite (puede consultar la lista de comandos ). Por lo tanto, tendría que descargar todo para poder aprovecharlo.

Stéphane Gimenez
fuente
5

Puede usar curlftpfs para montar ftp remoto como disco local y manipular con archivos como en su máquina local.

prisa
fuente
2
Al igual que con todo lo que se basa en el montaje, esto implica que transferirá todos los datos a su propio host.
Stéphane Gimenez
1
Sí lo hará Pero también depende de la tarea que debe realizar. Cuando necesita grep algo en la mayoría de los casos, puede ignorar los archivos que no son de texto (y no se transferirán) y tal vez parte de los archivos de texto. Entonces, en este caso, el tamaño de la transferencia de la suma puede ser menor que en el caso de que transfiera todos los datos del sitio remoto.
prisa el
4

Debería montar localmente el directorio FTP remoto para hacer esto, sin embargo, tenga en cuenta que todos los archivos que grep deberán descargarse para esta operación.

SSH en la máquina remota y ejecute grep por allí, si es posible, para ahorrar ancho de banda.

WhyNotHugo
fuente
0

Suponiendo que está usando ftp simple a través de la línea de comando, use el comando dir con la opción -Rl para buscar de forma recursiva y copiarlo en un archivo y luego buscar el archivo usando grep, find o cualquier forma que sea compatible con su sistema operativo.

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

Mediante el uso lftp

Primero agarra todo, desde ftp a archivo

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

Luego realice grep en el archivo:

$ grep FILE sources-list.txt
cy8g3n
fuente