我正在尝试从R执行shell命令(在Ubuntu上为3.3.1),如下所示:
system2(command="ls",
args=c("-l", "/etc/"),
stdout="/tmp/stdout.log",
stderr="/tmp/stderr.log",
wait=TRUE)
不幸的是,每次执行此操作时都会覆盖日志文件的内容。我们可以以某种方式指定这个来执行追加而不是覆盖吗?
答案 0 :(得分:0)
这按照我想要的方式......
text_item
答案 1 :(得分:0)
这个更好,因为它允许使用更现代的系统命令,并允许更清晰的记录。
result <- system2(command="ls",
args=c("-l", "/etc/"),
stdout="/tmp/stdout.log",
stderr="/tmp/stderr.log",
wait=TRUE)
now <- date()
cat(paste0("Executed: ", now, "\n"), file="/tmp/stdoutmain.log", append=TRUE)
file.append("/tmp/stdoutmain.log", "/tmp/stdout.log")
cat(paste0("Executed: ", now, "\n"), file="/tmp/stderrmain.log", append=TRUE)
file.append("/tmp/stderrmain.log", "/tmp/stderr.log")