是否有可能制定一个滴匹配的文件在目前的目录和所有子目录?

StackOverflow https://stackoverflow.com/questions/44481

  •  09-06-2019
  •  | 
  •  

该目录的结构:

.
|-- README.txt
|-- firstlevel.rb
`-- lib
    |-- models
    |   |-- foo
    |   |   `-- fourthlevel.rb
    |   `-- thirdlevel.rb
    `-- secondlevel.rb

3 directories, 5 files

Glob将匹配:

firstlevel.rb 
lib/secondlevel.rb 
lib/models/thirdlevel.rb
lib/models/foo/fourthlevel.rb
有帮助吗?

解决方案

很抱歉如果我错过了真正点的问题,但是,如果我使用sh/bash/等, 然后我可能会使用 找到 要做的工作:

find . -name '*.rb' -type f

水珠可以获得有点讨厌当使用从脚本和 找到 更加灵活。

其他提示

在aix系统管理的各个方面和扩展, **/*.rb 工作

在红宝石本身:

Dir.glob('**/*.rb') perhaps?

看起来像它不可能从 bash

如果你使用 zsh 然后

ls **/*.rb

会产生正确结果。

否则,你可以抢劫的 ruby 口译员(和那些可能的其他语言)

ruby -e "puts Dir.glob('**/*.rb')"

谢谢克里斯和盖乌斯*你的答案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top