Você pode usar o seguinte padrão extglob :
.@(!(.|))
-
.corresponde a um literal.no início -
@()é um padrãoextglob, corresponderá a um dos padrões internos, pois temos apenas um padrão dentro dele, ele selecionará -
!(.|)é outro padrãoextglob(aninhado), que corresponde a qualquer arquivo sem ou um.; Como já combinamos.no início, esse padrão inteiro corresponderá a todos os arquivos que começam com., exceto.e...
extglob está ativado em sessões interativas de bash por padrão no Ubuntu. Se não, ative primeiro:
shopt -s extglob
Exemplo:
$ echo .@(!(.|))
.bar .foo .spam