i wanted to move a bunch of files & directories, all except a certain few, so i figured i'd use !(this|or|that). so first i looked to see if +(this|or|that) isolated what i expected. well perhaps i don't understand what it's supposed to do.. shouldn't /+(??) capture 2 letter files only?
$ echo /+(????) /boot /home /proc /root /sbin $ echo /+(???) /bin /dev /etc /lib /mnt /opt /run /srv /sys /tmp /usr /var $ echo /+(??) /b1 /boot /c6 /e1 /home /initrd.img /lost+found /nu /pl /pm /proc /px /ql /root /sbin $ uname -a;apt-cache policy bash Linux phovd 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:41:14 UTC 2012 i686 athlon i386 GNU/Linux bash: Installed: 4.2-2ubuntu2 Candidate: 4.2-2ubuntu2 Version table: *** 4.2-2ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ precise/main i386 Packages 100 /var/lib/dpkg/status