我正在尝试获取与完整路径模式匹配的文件列表。到目前为止,我已经使用了 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中做到这一点吗?
更新:使用临时解决方案一段时间后,我决定停止一次又一次地输入相同的内容。因此,我创建了一个库来简化此任务。