【发布时间】:2012-07-11 16:18:36
【问题描述】:
我正在 bash 中尝试使用通配符,并尝试列出所有以“xyz”开头但不以“.TXT”结尾但得到不正确结果的文件。
这是我尝试过的命令:
$ ls -l xyz*[!\.TXT]
它没有列出我目录中名称为“xyz”和“xyzTXT”的文件。但是,它列出了“xyz1”、“xyz123”。
似乎在“xyz*”之后添加[!\.TXT] 会使shell 查找以“xyz”开头并且后面至少有一个字符的内容。
任何想法为什么会发生以及如何更正此命令?我知道它可以使用其他命令来实现,但我特别想知道它失败的原因以及它是否可以仅使用通配符来完成。
【问题讨论】: