将部分文件名与完整文件名匹配

时间:2018-03-10 19:16:18

标签: r file-copying name-matching

我有以下列方式命名的文件列表

csv_files<-list.files(path, pattern =‘.csv’)

1001_2017_01_02#19_30_24.csv 1002_2018_03_01#20_30_54.csv ...

格式基本上是:id _year_month_day#hour_min_sec.csv。

我已经从文件名中对ID和日期进行了条带化​​,以便使用neardate函数进行排序。 最后我有一个包含前缀1001_2017_01_02而不是完整文件名的数据框。 基本上我想将最终数据框中的部分文件名与完整文件名匹配,然后将匹配的文件复制到新路径。

任何评论都会有所帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

以下代码未经测试,因为我的磁盘上没有这些文件,也没有新路径。
我会按照

的方式做点什么
csv_files <- c("1001_2017_01_02#19_30_24.csv", "1002_2018_03_01#20_30_54.csv")
dat <- data.frame(prefix = c("1001_2017_01_02", "1002_2018_03_01"))

lapply(dat$prefix, function(x) {
    fl <- csv_files[grep(x, csv_files)]
    file.copy(from = fl, to = newpath)
})