R 使用系统调用快速列出文件
我试图列出许多与模式匹配的文件,我可以列出这些文件,以后再R 使用系统调用快速列出文件,r,R,我试图列出许多与模式匹配的文件,我可以列出这些文件,以后再lappy。在R中,使用list.files的速度相当慢,但我发现 system(find "\path\" -name "pattern") 使其速度提高约5倍 问题是上面的方法只在终端中有效,而在R中它只返回“1的列表” 我做错了什么?您真的应该在整个命令周围加上引号,而且如果您想将输出保存到R对象/向量中,您可以使用名为intern的选项,其“TRUE”值如下所示: system('find "/Users/pradeepkuma
lappy
。在R中,使用list.files
的速度相当慢,但我发现
system(find "\path\" -name "pattern")
使其速度提高约5倍
问题是上面的方法只在终端中有效,而在R中它只返回“1的列表”
我做错了什么?您真的应该在整个命令周围加上引号,而且如果您想将输出保存到R对象/向量中,您可以使用名为intern的选项,其“TRUE”值如下所示:
system('find "/Users/pradeepkumar" -name "*.R"',intern=T)
收到的输出:
> system('find "/Users/pradeepkumar" -name "*.R"',intern=T)
[1] "/Users/pradeepkumar/Desktop/company doc/g/code/SIPC-10.R"
[2] "/Users/pradeepkumar/Desktop/company doc/g/code/SIPC-2.R"
[3] "/Users/pradeepkumar/Desktop/company doc/g/code/SIPC-3.R"
我认为
system
需要将命令设置为单个字符串,即system(“查找‘路径’-名称‘模式’”)
谢谢,它可以工作。。。然而,只有我输入全名,它才有效。使用定义的变量(对于一般函数)会破坏它,例如系统('find my_path-name my_pattern',intern=TRUE)
。我不知道如何管理单引号。也许有一些paste()
trick?。你可以使用:x好的,现在我已经用上面的raw\u list Edit命令列出了每个文件。它起作用了。我刚刚把intern=TRUE
放在了错误的括号里。@komodovaran_uu祝贺你,为你感到高兴,很高兴它成功了