编写一个shell命令,使其输出结果

编程语言 2026-07-11

我想找一个可以在R 脚本中使用的命令,使其在命令提示符下执行并将数据传回到R 脚本。我特别想知道如何运行 svn log a.txt,并将命令行输出传回到R 脚本。

在Python中,我可以使用下面的命令从命令提示符获取输出:

ret = subprocess.check_output((r'svn info "%s"' % (filename)), text=True, shell=True)

因此 ret 变量将包含在命令提示符下执行命令 svn info a.txt 后返回的值。

我正在寻找在R 脚本中可以运行的类似方法。

解决方案

我没有安装 svn,但对于Python的 %,R的等价物是 sprintf();在 system() 中使用它:

> filename <- 'a.txt'
> ret <- system(sprintf('file %s', filename), intern=TRUE)
> ret
[1] "a.txt: ASCII text"

除了 sprintf(.),您也可以使用 paste('file', filename)。请注意,该命令是在当前工作目录中执行,为了稳健性,您可能需要添加完整路径。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章