Ruby:Net :: SFTP获取文件路径

时间:2017-06-06 11:32:49

标签: ruby-on-rails ruby rubygems net-sftp

当我们使用方法sftp.dir.entries时,我们如何获取文件的完整路径?

我想要一个目录的文件内容(递归)。我使用sftp.dir.entries方法列出了存在的文件。我该如何获取内容?

1 个答案:

答案 0 :(得分:1)

也许您正在寻找glob method

  

用作:: Dir.glob,匹配(可能是递归地)pathpattern下的所有目录条目。如果给出了一个块,匹配将在块被发现时产生;否则,当方法完成时,它们将以数组形式返回。

     

因为在SFTP连接上工作总是比在本地工作更慢,所以不要指望这种方法的执行速度与:: Dir.glob相同;它对于目录相对较少的浅层目录层次结构最有效,但它应该能够处理每个目录中适度数量的文件。

因此,例如(也取自文档):

sftp.dir.glob("/remote/path", "**/*.rb")

应该返回远程计算机上任何目录级别的所有* .rb文件。要获取所有文件,请改用"**/*"。另请参阅Dir class' glob method