什么工具可以让我使用 ** 指定任意目录

什么工具可以让我使用 ** 指定任意目录

我曾经看到一位同事使用一种工具,允许使用 ** 来表示任何目录。例如:如果一个名为的文件myfile.java位于深处:

src/main/com/mycompany/product/store/myfile.java

父目录中的命令src

ls **/myfile.java

可以列出该文件。

谁能告诉我这是什么工具?我需要使用什么包才能Ubuntu实现此目的?

答案1

在 bash ≥4.0 中,打开该globstar选项。

$ shopt -s globstar
$ echo pylib/**/pyerector.py
pylib/pyerector.py pylib/pyerector/pyerector.py

您可以在中阅读更多相关信息联机帮助页

在 zsh 中,这是开箱即用的。

在 ksh93 中,使用 激活它set -o globstar

在普通的 sh 或 bash ≤3.x 中,这是不可用的。

相关内容