如何获取 /var
及其子目录中的所有文件,但同时忽略列出子目录文件夹名称?
我尝试过 Dir["/var/*"]
但它没有列出子目录中的所有文件。
最佳答案
Dir["/var/**/*"]
此模式中出现的 **
匹配零个或多个嵌套目录的任何路径片段,但不匹配文件。
让我们分解一下:
当您有 /var/somefile.txt
(您的系统上可能不存在,因为 /var
中很可能只有目录)时,这里是glob 的每个部分将匹配什么:
Part of pattern Part of directory path
/var /var
** (nothing)
* somefile.txt
对于文件/var/run/NetworkManager.pid
:
Part of pattern Part of directory path
/var /var
** run
* NetworkManager.pid
对于文件/var/spool/mail/news
:
Part of pattern Part of directory path
/var /var
** spool/mail
* news
我不确定 Dir['/var/**']
本身的作用。我认为要使其按照您期望的方式工作,您总是需要在 **
之后另一个路径组件。
关于ruby - 如何获取 `/var` 及其子目录中的所有文件并忽略列出的文件夹名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377758/