我正在尝试获取与完整路径模式匹配的文件列表。到目前为止,我已经使用了list.files(),但它没有起作用。
假设我们有以下目录组织:
results
|- A
| |- data-1.csv
| |- data-2.csv
|
|- B
|- data-1.csv
|- data-2.csv
那么以下命令:
list.files(pattern='data-.*\\.csv', recursive=TRUE)
将返回所有与模式匹配的文件。这很有效,但使用完整路径模式时会出现问题。例如,如果我想从目录results/A获取所有CSV文件,我可以这样做:
list.files(pattern='results/A/data-.*\\.csv', recursive=TRUE)
然而,这并不起作用。不知何故,似乎R无法将全路径模式用作正则表达式。在这种情况下,解决方案可能是只使用results/A作为基础路径。但在更复杂的问题中,这是不可行的。例如,某些时候我们可能希望匹配只包含字符的子目录:
list.files(pattern='results/[A-Z]+/data-.*\\.csv', recursive=TRUE)
在R语言中是否有可能做到这个?
更新:使用临时解决方案一段时间后,我决定停止重复相同的操作。因此,我创建了一个库来简化这个任务。