library(stringr) args <- commandArgs(trailingOnly = TRUE) path <- args[1] base_folder <- str_remove(string = path, pattern = "/tmp[0-9]*/?$") print(base_folder) epoch <- str_extract(string = path, pattern = "(?<=tmp)([0-9]*)") for (mode in c("seq", "para", "notrans")) { flist <- list.files(path, pattern = paste0(mode, ".Rds"), full.names = TRUE) if (length(flist) == 0) { warning("No files corresponding to ", mode, " found.") next } 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"))) }