<分区>
当我运行以下每个命令时:
ls doc?*.txt
ls doc*?.txt
我得到的输出与我简单运行时得到的输出相同:
ls doc*.txt
它们之间有什么区别吗?
标签 linux
<分区>
当我运行以下每个命令时:
ls doc?*.txt
ls doc*?.txt
我得到的输出与我简单运行时得到的输出相同:
ls doc*.txt
它们之间有什么区别吗?
最佳答案
命令中的 glob:
ls doc?*.txt
ls doc*?.txt
...将与文件名 doc.txt
不匹配。
然而...
ls doc*.txt
...将。这是因为前两个 glob 中的 ?
表示 exactly one character
而 *
表示 零个或多个字符
.
换句话说,doc
和 .txt
之间至少需要有一个字符才能匹配前两个模式。
即使 doc
和 .txt
之间没有字符,第三个模式也会匹配。
关于linux - 在 Linux 中运行 ls doc*.txt 和 ls doc?*.txt 和 ls doc*?.txt 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29957519/