Mówiąc prościej, globowanie odnosi się do dopasowania wzorca. Bash używa prostego globowania, echo l*
które rozwija się do listy plików w bieżącym katalogu, które zaczynają się na literę l
. Oczywiście, jak można się domyślić, jest to proste i ograniczone.
Enter extglob
. Jak można się domyślić, oznacza to extended globbing
. Ta opcja pozwala na bardziej zaawansowane dopasowanie wzorca. Od man bash
:
extglob If set, the extended pattern matching features described
above under Pathname Expansion are enabled.
A nieco wcześniej:
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
Istnieje wiele sposobów extglob
wykorzystania. Kilka dobrych przykładów znajduje się w Linux Journal i wiki Grega .
Sergiy Kolodyazhnyy
źródło