Nói một cách đơn giản, globalbing dùng để chỉ mẫu phù hợp. Bash sử dụng như thế giới đơn giản, echo l*
mở rộng ra danh sách các tệp trong thư mục hiện tại bắt đầu bằng chữ cái l
. Tất nhiên, như bạn có thể đoán, nó đơn giản và hạn chế.
Nhập extglob
. Như bạn có thể đoán, nó là viết tắt của extended globbing
. Tùy chọn này cho phép khớp mẫu tiên tiến hơn. Từ man bash
:
extglob If set, the extended pattern matching features described
above under Pathname Expansion are enabled.
Và một chút trước đó:
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
Có vô số cách extglob
có thể được sử dụng. Khá nhiều ví dụ hay được cung cấp trong Tạp chí Linux và wiki của Greg .