Não sei se é conhecimento de todos mas o shell possui, alem do
globbing normal (a expansão * ? e [a-z] de nomes de arquivos e
diretorios), um globbing extendido.
Acho que, em alguns casos, podera ser BEM util, eliminando um pipe
para um grep por exemplo.
São eles (direto do man)
?(pattern-list)
Matches zero or one occurrence of the given patterns
*(pattern-list)
Matches zero or more occurrences of the given patterns
+(pattern-list)
Matches one or more occurrences of the given patterns
@(pattern-list)
Matches exactly one of the given patterns
!(pattern-list)
Matches anything except one of the given patterns
Para poder utiliza-lo precisa executar o shopt conforme o exemplo abaixo
$ shopt -s extglob
$ ls
file filename filenamename fileutils
$ ls file?(name)
file filename
$ ls file*(name)
file filename filenamename
$ ls file+(name)
filename filenamename
$ ls file@(name)
filename
$ ls file!(name) # divertido esse
file filenamename fileutils
$ ls file+(name|utils)
filename filenamename fileutils
$ ls file@(name|utils) # "lembra" um {name,utils}
filename fileutils
Fica ai a dica ;-)
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/