Как и стандартные (простые) шаблоны глобусов, bash ≥4.0 имеет расширенное глобирование.
Это по умолчанию .Чтобы включить его, используйте: shopt -s extglob
С extglob
у вас есть доступ к расширенным шаблонам регулярных выражений, а также к стандартным шаблонам.Кроме того, в вашей конкретной ситуации вы можете еще больше адаптировать поведение своего глобуса, включив регистр без учета регистра , который также отключен по умолчанию.Чтобы включить его, используйте: shopt -s nocaseglob
Включение extglob
не меняет работу стандартных шариков.Вы можете смешать две формы.Единственная проблема заключается в том, что вы должны знать о специальном расширенном синтаксисе регулярных выражений.Например, в приведенном ниже примере единственная его часть, которая является расширенным регулярным выражением, это ?(e)
.Остальное - стандартное глобальное расширение с включенной нечувствительностью к регистру.
Расширенное регулярное выражение, нечувствительное к регистру глобус для вашей ситуации:
shopt -s extglob nocaseglob
ls -l *.jp?(e)g
Дополнительную информацию и примеры можно найти на: Bash Extended Globbing .