O padrão de globbing de nome de arquivo estendido (suportado por bash
com a opção extglob
shell ativada e também por ksh93
)
!(db*).error.log
irá ignorar qualquer coisa que comece com db
.
Para ser mais específico:
!(db.example.com).error.log
Isso irá ignorar qualquer nome no diretório atual que comece exatamente com db.example.com
.
O padrão !(db.example.com)
age como um "especial *
" que não corresponde à string db.example.com
.
Seu padrão,
!(db)*.error.log
exclui qualquer nome que comece com db
, mas permite qualquer string depois disso, o que obviamente inclui db
.
Pela mesma analogia acima, !(db)
age "como *
", mas não combina com a string exata db
, deixando-nos com o padrão **.error.log
por assim dizer (com o primeiro *
sendo "especial").