library(stringr) args <- commandArgs(trailingOnly = TRUE) path <- args[1] mode <- args[2] base_folder <- str_remove(string = path, pattern = "/tmp[0-9]*$") print(base_folder) epoch <- str_extract(string = path, pattern = "(?<=tmp)([0-9]*)") flist <- list.files(path, pattern = paste0(mode, ".Rds"), full.names = TRUE) stopifnot("No files corresponding to mode found." = length(flist) > 0) merged_res <- lapply(flist, readRDS) names(merged_res) <- paste0("Rank", seq_along(flist) + 1) saveRDS(merged_res, file.path(base_folder, paste0(mode, "_", epoch, ".Rds")))