ruby - 从目录中获取文件而不列出所有内容

时间:2010-03-05 17:45:33

标签: ruby

我正在使用split linux命令将巨大的xml文件拆分为节点大小的文件。问题是现在我有数十万个文件的目录。

我想要一种方法从目录中获取文件(传递给另一个进程导入我们的数据库),而不需要列出其中的所有内容。这是Dir.foreach已经有效的方法吗?还有其他想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用Dir.glob查找所需的文件。更多详细信息here,但基本上,您将其传递给Dir.glob 'dir/*.rb'这样的模式,并获取与该模式匹配的文件名。我认为它以合理的方式完成,但这取决于您的平台和实现。

至于Dir.foreach,这也应该是有效的 - 如果它必须处理循环中每次传递的整个目录,那就是问题。但那将是糟糕的实施,而事实并非如此。