我需要解压缩zip和rar档案,这也必须是一个多平台解决方案。
在R中,您可以通过命令轻松解压缩
unzip(filename, exdir=‘’)
但我发现我无法以这种方式解压缩rar文件。 在OS X上,我可以简单地打开存档来解压缩它,如果我有这样的unarchiver配置:
system(paste("open", path))
我用谷歌搜索,可以安装7zip并从控制台解压缩,所以我尝试了适用于Windows的installr软件包
require(installr)
install.7zip()
system(paste("7z x", path))
但我收到警告,没有任何反应
running command '7z x 1.rar’ had status 127
和Unix的终端命令
system('sudo apt-get install p7zip-rar')
system(paste("7z x ", path))
但是它返回了sudo错误
sudo: no tty present and no askpass program specified
答案 0 :(得分:1)
为了支持您自己的应用程序在任何平台上解压缩RAR存档,我建议将 UnRAR源代码集成到您的应用程序中。源代码是用C ++编写的。因此,您需要使用C ++编译器为所有平台编译此源代码,并将生成的应用程序添加到R应用程序包中。
嗯,还有免费的 UnRAR 适用于Windows(x86和x64),Linux,Mac OS X以及WinRAR and RAR archiver addons页面上各种处理器的其他操作系统。因此,您可以为您希望支持的每个平台创建一个包含R应用程序和适用于 UnRAR 应用程序的软件包。
答案 1 :(得分:1)
你可以运行
sudo apt-get install p7zip-rar
在终端中,您有错误,因为在rstudio中,您无法要求输入密码。
答案 2 :(得分:0)
在Windows中,您可以使用untar
来解压缩RAR文件。
但是在Linux中,我失败了。仍在尝试修复它。