Kev*_*ang 5 command-line shell directory recursive wildcards
我曾经看到一个同事使用一个工具,它允许使用 ** 来表示任何目录。例如:如果一个名为的文件myfile.java位于内部深处:
src/main/com/mycompany/product/store/myfile.java
Run Code Online (Sandbox Code Playgroud)
src目录父级中的命令:
ls **/myfile.java
Run Code Online (Sandbox Code Playgroud)
可以列出文件。
谁能告诉我是什么工具?我需要使用什么包Ubuntu来实现这一目标?
在 bash ?4.0 中,打开该globstar选项。
$ shopt -s globstar
$ echo pylib/**/pyerector.py
pylib/pyerector.py pylib/pyerector/pyerector.py
Run Code Online (Sandbox Code Playgroud)
您可以在联机帮助页中阅读有关它的更多信息。
在 zsh 中,这是开箱即用的。
在 ksh93 中,使用set -o globstar.
在普通的 sh 或 bash ?3.x 中,这是不可用的。