Linux Today: Linux News On Internet Time.

Bash Extended Globbing

Oct 10, 2008, 16:05 (0 Talkback[s])
(Other stories by Mitch Frazier)

"However, probably the most interesting extended globbing syntax is the "!(...)" syntax for matching everything except (ie not matching). But, be careful, this doesn't always do what you might expect. For example, let's list all the files that aren't JPEGs or GIFs. One's first thought might be something like this:

$ ls *!(.jpg|.gif) # wrong, Wrong, WRONG

But that doesn't work because the ".jpg" and the ".gif" of any file's name end up getting matched by the "*" and the null string at the end of the file name is the part that ends up not matching the "!(...)" pattern."

Complete Story

Related Stories: