将系统命令的输出存储到 r 中的变量中

Posted

技术标签:

【中文标题】将系统命令的输出存储到 r 中的变量中【英文标题】:store output of system command into a variable in r 【发布时间】:2012-06-21 08:00:21 【问题描述】:

我正在 R 中执行以下命令:

system("ls ")

我需要将上述命令的输出存储在某个 R 变量中。 有没有办法做同样的事情??

【问题讨论】:

【参考方案1】:

使用intern=TRUE:

a <- system("ls ", intern = TRUE)

【讨论】:

如果对程序进行系统调用,有没有办法存储信息? 有什么方法可以同时获取os程序状态码和程序输出? 如果我要使用返回 100 万行的 SQL 命令怎么办?如何先将输出重定向到文件?【参考方案2】:

为什么不用对应的R函数呢?

a <- list.files()
b <- list.files(recursive = TRUE)

更多详情

?list.files

【讨论】:

因为list.files 也将目录列为项目,如果您使用recursive=T,它会潜入这些目录。没有简单的 R 方法可以列出目录中的文件。我用file_list = system('ls -p &lt;target dir&gt; | grep -v /')

以上是关于将系统命令的输出存储到 r 中的变量中的主要内容,如果未能解决你的问题,请参考以下文章

Bash 脚本将命令输出存储到变量中

将命令的输出存储在变量中[重复]

将 pig fs 命令输出到文件或变量

R,将变量传递给系统命令

常用系统工作命令

将date命令的输出读入C脚本Unix中的变量中