在Ruby1.8中,如何删除一些子目录以'.‘开头的目录树?
例如,我有一个想要清理的嵌入式Linux文件系统目录。它的一个子目录是./dev/.udev/files。
Dir[ "{**/*,**/.**,**/.*}" ].sort.reverse.each do | p |
puts p
if ( ( p != '..' ) and ( p != '.' ) ) then
if File.directory? p then
Dir.rmdir p
else
File.delete p
end
end
end这可以识别./dev/ .udev /,但它不会删除.udev下的文件(或文件和目录)。
我意识到我可能会变得很残暴
system("rm -Rf *")在工作目录中,但我想更好地了解globbing方法。
提前感谢!:D
发布于 2010-10-07 07:48:27
你可以试一试
Dir.glob(".[^.]*")对于删除目录,您可以先尝试删除目录中的所有文件,然后再执行删除操作,也可以使用FileUtils.rm_rf。有关详细信息,请参阅FileUtils文档
https://stackoverflow.com/questions/3875572
复制相似问题