Estoy intentando rastrear FTP y extraer todos los archivos recursivamente.Ruby FTP Separación de archivos de las carpetas
Hasta ahora yo estaba tratando de derribar un directorio con
ftp.list.each do |entry|
if entry.split(/\s+/)[0][0, 1] == "d"
out[:dirs] << entry.split.last unless black_dirs.include? entry.split.last
else
out[:files] << entry.split.last unless black_files.include? entry.split.last
end
Pero resulta que, si se divide la lista hasta último espacio, los nombres de archivos y directorios con espacios están equivocados descabellada. Necesito un poco de ayuda sobre la lógica aquí.
También podría usar 'entrada [1 ..- 1] .split [5] [13 ..- 1]' para obtener la ruta y 'entrada [0]' para obtener el tipo –
¿Funciona esta expresión regular para todos ¿casos? Hay una gran variedad de servidores FTP alrededor. Tenemos clientes que utilizan algunos servidores oscuros basados en Windows y la lista de archivos que devuelven se ve completamente diferente de las versiones de Linux. Entonces, lo que terminé haciendo es por cada entrada de archivo/directorio en la que intento introducir CD y si esto no funciona, considérelo como un archivo :) Funciona como un encanto. –