我有50个R脚本需要为所有这些脚本更改相同的行。有没有办法同时使用" find"来同时完成所有这些操作。和"替换"?
答案 0 :(得分:4)
循环浏览文件,逐行读取( 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脚本都相同,则可以使用Passing command line arguments to R CMD BATCH 并且只有一个带有参数的Rscript文件。