2

如何获取其中的所有文件/var及其子目录,但同时忽略列出子目录文件夹名称?

我已经尝试过Dir["/var/*"],但它没有列出子目录中的所有文件。

4

1 回答 1

3
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/**']它自己会做什么。我认为要使其按您期望的方式工作,您总是需要在**.

于 2012-04-30T02:23:23.947 回答