我的文件包含由行尾分隔的文件列表
$ cat file_list
file1
file2
file3
我想用FTP
复制这个文件列表我该怎么做?我必须写一个脚本吗?
答案 0 :(得分:9)
您可以轻松地将文件列表转换为ftp命令列表:
(echo open hostname.host;
echo user username;
cat filelist | awk '{ print "put " $1; }';
echo bye) > script.ftp
然后你可以运行:
ftp -s script.ftp
或者可能(使用其他版本的ftp)
ftp -n < script.ftp
答案 1 :(得分:2)
这些方面的某些内容 - somecommand
取决于你想要做什么 - 我不会从你的问题中得到这个,抱歉。
#!/bin/bash
# Iterate through lines in file
for line in `cat file.txt`;do
#your ftp command here do something
somecommand $line
done
编辑:如果你真的想要为多个文件设置此路由(你不应该!),你可以使用以下命令代替somecommand $line
:
ncftpput -m -u username -p password ftp.server.com /remote/folder $line
ncftpput也可以一次性上传任意数量的文件,但我没有检查过。请注意,此方法将为每个文件连接和断开连接!
答案 2 :(得分:2)
感谢有关如何将文件列表提供给ftp的非常有用的示例。这对我很有效。
在Linux(CentOs 5.5)中创建我的ftp脚本后,我运行了脚本:
ftp –n < ../script.ftp
我的脚本(名称已更改以保护无辜者)以:
开头open <ftpsite>
user <userid> <passwd>
cd <remote directory>
bin
prompt
get <file1>
get <file2>
结束于:
get <filen-1>
get <filen>
bye