我正在尝试从远程sftp服务器复制所有csv文件,并将这些文件循环粘贴到本地服务器。然后,我想将这些文件创建为.txt文件列表,以便处理这些文件。我为此目的尝试了一些现有的解决方案,但是它们都无法正常工作。我是bash脚本的新手。
先感谢您。
1)您可以创建rsa键来链接您的远程服务器和本地服务器。这样,您无需输入密码:
https://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/
https://help.github.com/en/articles/error-agent-admitted-failure-to-sign
如何将bash别名定义为多个命令的序列?
我使用这三个链接成功设置了rsa密钥。我在实验室的Wiki上创建了一个页面,介绍如何逐步执行此操作,如果您遇到问题,可以将说明上载到github。
2)对于复制,请尝试以下操作:
scp -r username@remote_server:/path_to_directory_containing_files_you_want/*csv local_path_you_want_to_copy_to
ls > name_of_file.txt
-r表示您要递归复制所有指定的文件,这里所有的都是csv文件。您应该已经具有用户名和远程服务器名称。如果您已经将文件复制到本地目录中,.则该操作与放入整个本地路径相同。复制所有文件后执行ls命令,它将创建一个新的txt文件,其中包含该目录中文件的所有名称。假设那里只有新复制的文件,这将是获取复制文件列表的最简单方法。希望这可以帮助!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。