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

时间:2018-01-09 22:46:40

标签: r replace edit

我有50个R脚本需要为所有这些脚本更改相同的行。有没有办法同时使用" find"来同时完成所有这些操作。和"替换"?

1 个答案:

答案 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文件。