Kopieren bestimmter Dateien aus mehreren Unterverzeichnissen in einen einzelnen Ordner in R

Angenommen, ich habe 3 Ordner mit jeweils einer großen Anzahl von Dateien, ich möchte nur einige Dateien aus jedem Unterverzeichnis auswählen und nur diese Dateien in einen neuen Ordner einfügen. Nennen wir die 3 Ordner:

desktop / dir / sub_11s_gi01_ab desktop / dir / sub_11f_gi01_b desktop / dir / sub_12s_gi02_ms

Die zu kopierenden Dateien haben die Erweiterung ".wang.tax.sum"

Alle anderen Dateien können nicht kopiert und dann gelöscht werden, da dies Tage dauern würde.

Aus anderen Gründen kann ich alle Dateien in einer Liste zusammenfassen und alle kopieren, aber ich weiß nicht, wie ich nur die Dateien kopieren soll, die mit .wang.tax.sum enden.
Ich kann die grep-Funktion verwenden, um eine Liste der Dateien abzurufen, die ich übertragen möchte, bin mir jedoch nicht sicher, wie diese Liste der Dateien in ihren Unterverzeichnissen in einen neuen Ordner kopiert werden soll. Folgendes habe ich bisher, das geht nicht.

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")
}

Ich weiß, dass das grep hier nicht funktioniert, aber ich bin nicht sicher, wie ich eine Funktion erstellen soll, die nur die gewünschten Dateien auswählt und sie in einen einzelnen Ordner kopiert. Insgesamt habe ich ungefähr 50 Unterordner mit jeweils ungefähr 1 GB Daten. Das Kopieren aller Daten und das anschließende Löschen der nicht gewünschten Daten ist daher keine Option. Jede Hilfe wird sehr geschätzt

Antworten auf die Frage(4)

Ihre Antwort auf die Frage