有没有办法自动更改多个 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 文件。
我有 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 文件。