R 高效列表文件
我想在R 高效列表文件,r,system,R,System,我想在R中执行与ls等效的操作。 假设我想要ls/a/b/c/201*/*/d/e/f/*/sameNameFile.gz,这个命令在终端上运行需要5秒钟,我尝试使用list.files,但它需要路径参数,并且需要递归=TRUE。这需要很长时间 是否有一个我可以使用的函数(或list.files)允许我运行这个ls命令(我知道我可以用system(cmd,intern=TRUE)运行comamnd本身,但我需要一个R解决方案)相关问题的结果 在某些系统上,system(“ls-f-R”,int
R
中执行与ls
等效的操作。
假设我想要ls/a/b/c/201*/*/d/e/f/*/sameNameFile.gz
,这个命令在终端上运行需要5秒钟,我尝试使用list.files
,但它需要路径
参数,并且需要递归=TRUE
。这需要很长时间
是否有一个我可以使用的函数(或
list.files
)允许我运行这个ls
命令(我知道我可以用system(cmd,intern=TRUE)
运行comamnd本身,但我需要一个R解决方案)相关问题的结果
在某些系统上,system(“ls-f-R”,intern=TRUE)
比list.files
快。你的表现可能会有所不同
-R
开关表示递归;<代码> -f>代码>切换方式不按字母顺序排序,这是性能增益来自的地方。这几乎是一个复制品,如果这是一个必须定期运行的命令,您可能需要考虑将要复制的文件复制到一个公用文件夹中,或者重组你的档案系统。我的情况是1到100。。。另外,我没有在这里使用-R
,我只是用整个路径指定了一个regex
。。。我不必在列表中使用递归
。文件
@statquant则不必使用它。这个答案的要点是list.files
速度很慢,类似system(sprintf('ls%s',ls_args),intern=TRUE)
的速度更快。