【发布时间】:2021-12-29 04:11:22
【问题描述】:
对你们来说可能是一个快速简单的问题,但我实际上无法在任何地方找到答案。
这是什么意思?请给我分解一下好吗?
【问题讨论】:
-
答案在 bash 手册的“路径名扩展”部分。
-
这是一个文件名wildcard (aka "glob") pattern。
对你们来说可能是一个快速简单的问题,但我实际上无法在任何地方找到答案。
这是什么意思?请给我分解一下好吗?
【问题讨论】:
问题很简单:
[aDt] :字符 a 或 D 或 t。*:零个或多个(任意)字符。.:点。t :t 字符。? :任何(单个)字符。t :t 字符。【讨论】:
“[aDt]*.t?t”是“shell扩展”的一种表达方式(有几种,这一种是“模式匹配”)。
这种扩展使用通配符类型的项目不仅匹配单个名称,而且匹配多个。
对于 ls 命令(您的问题,但同样适用于任何命令),它将列出所有具有匹配名称的文件,但不列出其他文件。
[aDt] matches any of the character "a", "D", "t"
* matches any number (even zero) of any character
? matches any single character
这个表达式可以匹配,例如
D-data.txt
a-what.tNt
t.tst
但不是
mega.txt (first letter is not a, D or t)
ciao.TXT (the uppercase T of TXT do not match)
ciaotxt (does not contain a dot)
这只是部分回复,事情要复杂得多。
【讨论】: