问题描述
vim *.PHP
解决方法
使用 bash 中的 shell 选项 `globstar`,您可以使用
vim **/*.php
要启用外壳选项,请使用例如
shopt -s globstar
,
您可以将 find
与 xargs
结合使用:
find . -type f -name '*.php' -print0 | xargs -0 vi
find
将定位当前目录中和当前目录下与 *.php
匹配的所有常规文件,并将流中的所有名称发送到以 xargs
字符分隔的 NUL
.
xargs
程序(-0
与 -print0
匹配)然后将它们分成单独的文件名,并将尽可能多的文件名传递给单个 vi
调用。如果它不能在一次调用中满足所有这些要求(不太可能,除非文件数量确实很大),它将根据需要进行多次调用。
您可以使用 brace expansions:
vim {,*/}*.php
它是如何工作的
-
{,*/}
扩展为<empty> dir1/ dir2/ ...
- 最后的命令行是:
ls *.php dir1/*.php dir2/*.php ...
这仅匹配直接子目录,因此不会包含子目录的子目录。正如其他答案中提到的,find
或 globstar
更适合这种情况。