r 系统函数 cd 进入文件夹名称 space

r system function to cd into a folder name with space

我试图从 R cd 进入我 linux 系统中的这个文件夹。

/projects/Temp/Global 变暖

我像下面这样使用 system 函数

system("cd /projects/Temp/Global Warming; ls")

这不起作用。

如果我尝试升级,system("cd /projects/Temp; ls") 一切正常,没有任何问题,但是当它尝试 cd 进入文件夹 Global Warming 时,space 是文件夹名称正在创建一些问题。非常感谢任何有关如何解决此问题的建议。谢谢。

这不是 R 问题,而是一般的命令行问题。对于 cd,如果路径包含空格,则需要引用路径。

'cd "/projects/Temp/Global Warming"; ls' 应该可以。

如果您只是想进入一个目录并列出其内容,您可以将您的工作目录更改为该文件夹并列出其内容:

setwd("path/to/folder with space")
list.files()

或:

list.files("path/to/folder with space")  

只列出目录中的文件,而不考虑当前目录或工作目录。

在 R 中,将文件路径中的 space 替换为四个连续反斜杠后跟 space(即“\\\\”)可解决问题。

我建议使用 gsub()

动态执行此操作

完整的解决方案如下:

myPath <- "/projects/Temp/Global Warming"
system(paste0("cd ", gsub(" ","\\ ",myPath), " && ls"))

注意:在linux中,如果您确实想列出感兴趣目录中的文件,可以使用&&。