En términos simples, el globbing se refiere a la coincidencia de patrones. Bash utiliza un meneo simple, echo l*
que se expande a la lista de archivos en el directorio actual que comienza con la letra l
. Por supuesto, como puedes adivinar, es simple y limitado.
Introduzca extglob
. Como puedes adivinar, significa extended globbing
. Esta opción permite una coincidencia de patrones más avanzada. De man bash
:
extglob If set, the extended pattern matching features described
above under Pathname Expansion are enabled.
Y un poco antes de eso:
If the extglob shell option is enabled using the shopt builtin, several
extended pattern matching operators are recognized. In the following
description, a pattern-list is a list of one or more patterns separated
by a |. Composite patterns may be formed using one or more of the
following sub-patterns:
?(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 one of the given patterns
!(pattern-list)
Matches anything except one of the given patterns
Hay multitud de formas en las que extglob
se puede usar. Se proporcionan bastantes buenos ejemplos en Linux Journal y la wiki de Greg .