Você pode usar globbing estendido :
If the
extglobshell option is enabled using theshoptbuiltin, 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.
Quanto ao que você perguntou, não consigo entender este:
... all the files that start with AT LEAST two lowercase letters ... "wildcard number of [[:lower:]]'s and then a wildcard?"
Um curinga corresponde a zero ou mais, o que não é o mesmo que dois ou mais. Qualquer número de [[:lower:]] s pode ser correspondido com o glob% estendido*([[:lower:]]). "Pelo menos dois" não precisa de globalização estendida: [[:lower:]][[:lower:]]* .
... starting with ONLY 2 lowercase letters, not * lowercase letters
[[:lower:]][[:lower:]]?([^[:lower:]]*)
Que são dois caracteres minúsculos, opcionalmente seguidos por (qualquer coisa que não seja um caractere minúsculo e qualquer coisa).