【发布时间】:2021-10-05 09:47:07
【问题描述】:
我有一个包含我的 rproj 的目录和一个用于所有输出的“数据”文件夹。数据文件夹中有 40 个子目录,每个子目录包含一个“output.csv”。子目录的名称完全不同,但都以 1 或 2 结尾。
data/****1/output.csv
data/****2/output.csv
星号代表名称的不同部分(不同数量的字母),我需要的每个 csv 都有完全相同的名称。
我需要根据其子目录是否以 1 或 2 结尾,将所有“output.csv”单独列出,并且我一直在尝试使用 grep() 函数
allOutputFiles <- list.files(pattern = "output.csv", recursive = TRUE, full.names = TRUE)
files1 <- grep(pattern = "./data/1$", allOutputFiles, value = TRUE)
files2 <- grep(pattern = "./data/2$", allOutputFiles, value = TRUE)
但是每次我运行它时,它都会返回character(0)。如果我在 1$ 前添加一个“\”,它将返回 invalid regular expression './data/\1$', reason 'Invalid back reference'
如何正确地将通配符应用于不同的文件路径?
【问题讨论】:
标签: r directory filepath grepl