bash 通配符行为记录在哪里?

发布于 2024-12-11 21:34:21 字数 221 浏览 0 评论 0原文

我知道我可以执行以下操作:

ls /dir/*/subdir/file

列出任何匹配目录中的任何匹配文件。这只是普通的通配符吗?感觉它比以下用法更高级:

ls /dir/subdir/file*

我认为它是“分支/搜索全局”。如果它与常规的通配符不同,它的真实名称是什么?它的行为记录在哪里?

I know I can do the following:

ls /dir/*/subdir/file

to list any matching files in any matching directories. Is this just regular globbing? It feels like it is more advanced than the following usage:

ls /dir/subdir/file*

I think of it as "branching/searching glob". If it is different to regular globbing, what is its real name and where is its behaviour documented?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

抹茶夏天i‖ 2024-12-18 21:34:21

man bash

搜索路径名扩展

man bash

search for Pathname Expansion

醉酒的小男人 2024-12-18 21:34:21

bash 文档中这两种形式之间没有特别的区别;它们都在 文件名扩展模式匹配

There's no particular distinction between these two forms in the bash documentation; they're both described under Filename Expansion and Pattern Matching.

嘿哥们儿 2024-12-18 21:34:21

它位于 bash 手册页的模式匹配部分。

* 匹配任何字符串,包括空字符串。

It's on the bash man page, in the section on Pattern Matching.

* Matches any string, including the null string.

暮年慕年 2024-12-18 21:34:21

如果您想要更便携这里是 POSIX 规范

And if you want to be more portable here are the POSIX specs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文