有没有办法自动更改多个 R 脚本中的一行?

Is there a way to automatically change a line in several R scripts?

我有 50 个 R 脚本,我需要为所有这些脚本更改同一行。有没有办法同时完成所有这些,而不是使用 "find" 和 "replace" 一个一个地完成?

遍历文件,逐行读取(readLines给出一个字符向量),然后更新第N行,输出到新文件:

lapply(list.files(path = ".", pattern = "*.R", full.names = TRUE),
       function(i){
         x <- readLines(i)
         # if we want for example change the 6th row:
         x[ 6 ] <- "# MY NEW LINES"
         # then write output
         write(x, file = paste0("myCleanOutput/folder/path/", basename(i)))
       })

但是,如果所有 R 脚本都相同,可以使用 将命令行参数传递给 R CMD BATCH 并且只有 1 个带参数的 Rscript 文件。