列出具有特定单词和文件扩展名的文件

时间:2015-01-31 00:58:14

标签: r

我在目录中有一堆包含各种扩展名的文件,但我最感兴趣的是* .bil。每年有12个文件。 我坚持的是将一年与* .bio匹配,所以我的列表将有2000年的12个文件。 示例文件名:

****编辑(添加实际文件名):

PRISM_tmin_stable_4kmM2_200001_bil.bil
PRISM_tmin_stable_4kmM2_200002_bil.bil

代码:

Filenames <- list.files("/../directory", pattern = "//.bil")

这将选择所有* .bil文件,但有数百个,所以我只需要指定2000年。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

list.files命令具有通配符选项,因此您应该可以执行以下操作:

list.files("/../directory", pattern = "*_2000*//.bil")

或者

list.files("/../directory", pattern = ".*_2000.*\\.bil")

我不是100%清楚list.files是否使用正则表达式模式而我目前无权访问R,所以请告诉我这是否有效。

答案 1 :(得分:0)

这也应该可以工作,遍历PRISM文件夹,只取出.bil模式(你需要将其他文件保存在同一个文件夹中,以便它能理解.bil文件附带的栅格数据)。 recursive=T允许您从path(或目录)中的多个文件夹中提取,并且通过设置pattern,您只会拔出带有.bil扩展名的文件(不是asc.bil,等)。

filenames  <- list.files(path="PRISM",
                     recursive=T,
                     pattern="\\.bil$"
                     ,full.names=T)

您可以使用上面指定年份2000的详细信息添加上述代码。