列出具有多个条件的文件
List files with multiple conditions
我有一组 16 个文件夹,每个文件夹都有子文件夹。我想要一个代码进入这 16 个文件夹中的每一个,检查所有子路径并仅导入满足以下条件的文件:
它们包含 "B02.jp2" 或 "B03.jp2" 或 "B04.jp2" 或 "B08.jp2"
这是我想要的文件的截图select
这是我目前使用的代码:
这个效果很好,但它只使用一个条件 (B08.jp2$)
path <- "my/path/"
path <- list.files(path, recursive = TRUE, full.names = FALSE, pattern = "B08.jp2$")
我一直在尝试组合多种模式但没有成功:这是我的尝试
基于:list.files pattern argument in R, extended regular expression use
path <- "my/path/"
path <- list.files(path, recursive = TRUE, full.names = FALSE, pattern = glob2rx("B08.jp2$*B03.jp2$"))
path<-character(0)
基于:R list files with multiple conditions
path <- "my/path/"
path <- list.files(path, recursive = TRUE, full.names = FALSE, pattern = "B08.jp2$ | B03.jp2$")
path<-character(0)
-- 编辑--
我稍微更改了我的数据,并希望以不同的方式导入它们。我的文件现在称为:
B02_10m.jp2
B03_10m.jp2
B04_10m.jp2
B08_10m.jp2
B05_20m.jp2
B06_20m.jp2
B07_20m.jp2
B8A_20m.jp2
B11_20m.jp2
B12_20m.jp2
它们位于不同的子文件夹中。这就是我使用 recursive=TRUE
.
的方式
我尝试使用以下选项来组合条件,但它不起作用。
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m.jp2$ | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
试试这个:
list.files(path, recursive = TRUE, full.names = FALSE,
pattern = "B0[2348].jp2$")
模式接受正则表达式。
我有一组 16 个文件夹,每个文件夹都有子文件夹。我想要一个代码进入这 16 个文件夹中的每一个,检查所有子路径并仅导入满足以下条件的文件: 它们包含 "B02.jp2" 或 "B03.jp2" 或 "B04.jp2" 或 "B08.jp2"
这是我想要的文件的截图select
这是我目前使用的代码:
这个效果很好,但它只使用一个条件 (B08.jp2$)
path <- "my/path/"
path <- list.files(path, recursive = TRUE, full.names = FALSE, pattern = "B08.jp2$")
我一直在尝试组合多种模式但没有成功:这是我的尝试
基于:list.files pattern argument in R, extended regular expression use
path <- "my/path/"
path <- list.files(path, recursive = TRUE, full.names = FALSE, pattern = glob2rx("B08.jp2$*B03.jp2$"))
path<-character(0)
基于:R list files with multiple conditions
path <- "my/path/"
path <- list.files(path, recursive = TRUE, full.names = FALSE, pattern = "B08.jp2$ | B03.jp2$")
path<-character(0)
-- 编辑--
我稍微更改了我的数据,并希望以不同的方式导入它们。我的文件现在称为:
B02_10m.jp2
B03_10m.jp2
B04_10m.jp2
B08_10m.jp2
B05_20m.jp2
B06_20m.jp2
B07_20m.jp2
B8A_20m.jp2
B11_20m.jp2
B12_20m.jp2
它们位于不同的子文件夹中。这就是我使用 recursive=TRUE
.
我尝试使用以下选项来组合条件,但它不起作用。
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m.jp2$ | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
试试这个:
list.files(path, recursive = TRUE, full.names = FALSE,
pattern = "B0[2348].jp2$")
模式接受正则表达式。