我在bash中試用通配符,並嘗試列出以「xyz」開頭但不以「.TXT」結尾但獲得不正確結果的所有文件。使用通配符排除具有特定後綴的文件
這裏是我試過的命令:
$ ls -l xyz*[!\.TXT]
它不上市與名稱「某某」和「xyzTXT」我有我的目錄中的文件。但是,它列出了「xyz1」,「xyz123」。
看起來好像在「xyz *」之後加上[!\.TXT]
使得shell查找以「xyz」開頭並且至少有一個字符的東西。
任何想法爲什麼會發生以及如何糾正此命令?我知道這可以通過其他命令來實現,但我特別想知道它爲什麼會失敗,以及是否可以使用通配符。
我想這是有道理的。謝謝。 – 2012-07-11 17:01:37
@RameshSamane,做一些測試,例如,名爲'xyzwhateverTXTyouwant','xyzwhateveryouwant.'和'xyzwhateveryouwantX'的文件。你的方法將爲第一個工作,但會失敗的另外兩個。 – Zagorax 2012-07-11 17:04:02
是的,你是對的。我證實了它。 – 2012-07-11 20:32:48