Предполагая, что у меня есть 3 папки с большим количеством файлов в каждом, я хочу выбрать только несколько файлов из каждого подкаталога и вставить только эти файлы в новая папка. Назовем 3 папки:Копирование определенных файлов из нескольких подкаталогов в одну папку в R
- настольное/реж/sub_11s_gi01_ab
- настольный/реж/sub_11f_gi01_b
- рабочего стола/реж/sub_12s_gi02_ms
файлы, которые должны быть скопированы, имеют расширение ".wang.tax.sum"
Все остальные файлы не могут быть скопированы и удалены, так как потребуется несколько дней.
Из других вопросов, я могу объединить все файлы в список и скопировать все из них, но я не знаю, как скопировать только те файлы, которые заканчиваются .wang.tax.sum
я могу использовать Grep чтобы получить список файлов, которые я хочу передать, но не знаю, как скопировать этот список файлов в свои подкаталоги в новую папку. Вот что я до сих пор, что не работает.
parent.folder <- "C:/Desktop/dir"
my_dirs <- list.files(path = parent.folder, full.names = T, recursive = T, include.dirs = T)
##this does not work##
a <- grep("wang.tax.sum",my_dirs)
my_dirs <- my_dirs[a]
files <- sapply(my_dirs, list.files, full.names = T)
dir.create("taxsum", recursive = T)
for(file in files) {
file.copy(file, "taxsum")
}
Я знаю, что Grep не работает здесь, но я не знаю, как создать функцию, которая выбирает только те файлы, которые я хочу и скопировать их в одну папку. У меня примерно 50 подпапок, каждая из которых имеет около 1 гб данных, поэтому снова копирование всех данных, а затем удаление того, что я не хочу, не является вариантом. Любая помощь с благодарностью
Спасибо, это сработало отлично. –