Сеть Ruby:: индикатор выполнения FTP

Если Вы не получаете сообщение об ошибке, ls работает, но очень медленно. Можно попытаться смотреть на просто первые десять файлов как это:

ls -f | head -10

, Если Вы собираетесь должны посмотреть на детали файла некоторое время, можно поместить их в файл сначала. Вы, вероятно, хотите отправить вывод в различный каталог, чем тот, который Вы перечисляете в данный момент!

ls > ~/lots-of-files.txt

, Если Вы хотите сделать что-то в файлы, можно использовать xargs. Если Вы решаете записать сценарий некоторого вида, чтобы сделать работу, удостоверьтесь, что Ваш сценарий обработает список файлов как поток, а не внезапно. Вот пример перемещения всех файлов.

ls | xargs -I thefilename mv thefilename ~/some/other/directory

Вы могли объединить это с головой для перемещения меньшего числа файлов.

ls | head -10000 | xargs -I x mv x /first/ten/thousand/files/go/here

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

11
задан smnirven 25 November 2009 в 04:05
поделиться

1 ответ

Для справки в будущем - я наткнулся на решение:

filesize = ftp.size(filename)
transferred = 0
p "Beginning download, file size: #{filesize}"
ftp.getbinaryfile(filename, "#{SOURCE_IMPORT_DIRECTORY}/#{filename}", 1024) { |data|
  transferred += data.size
  percent_finished = ((transferred).to_f/filesize.to_f)*100
  p "#{percent_finished.round}% complete"
}
ftp.close
36
ответ дан 3 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: