6

Вы можете загрузить один файл с помощью wput:

wput file ftp://username:passwd@ipaddress/file

Есть ли способ загрузить несколько? Может быть что-то вроде:

wput {file1,file2} ftp://username:passwd@ipaddress/{file1,file2}

Примечание: я знаю, что есть решения, использующие ftp , curl и другие. Мне было интересно, если есть один для wput .

1 ответ1

3

Из руководства:

So you can specify e.g. one URL and read all filenames from a file. 
Or use wput *.txt ftp://host, to transfer all *.txt-files. 
See EXAMPLES for further examples.

−i файл

--input-файл = файл

Читает URL-адреса и имена файлов из файла. Если в командной строке тоже есть URL-адреса, они будут извлечены первыми, если сортировка не включена. Смотрите также раздел URL-Input-Handling. Если файл - -, URL будут считаны из стандартного ввода. Если вы хотите передать содержимое файла, который должен быть загружен в stdin, это нельзя сделать (пока). Но вы можете использовать флаг --input-pipe и читать содержимое a) из именованного канала -I "cat named.pipe; echo> /dev /null" или b) непосредственно из команды, которая выводит данные. (См. --Input-pipe) Не делайте таких вещей, как find | wput ftp://host/ −i -! Wput будет загружать все файлы из текущего каталога (так как первым выводом find будет '.'), А затем каждый файл снова (так как find передает свое имя Wput. Кроме того, проблемным является то, что Wput будет загружать каждый каталог, заданный командой find, и поскольку find сама рекурсивно обращается ко всем каталогам, файлы будут загружены три раза (или даже чаще для дальнейших подкаталогов). Используйте wput ftp://host/ чтобы загрузить все из локального каталога. Или используйте найти! −type d | wput ftp://host/ −i - указывать найти, а не выводить каталоги.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .