Use o padrão glob:
*l[^l]*l*
-
[^l]
corresponde a qualquer caractere, excetol
-
*
corresponde a zero ou mais caracteres -
l
corresponde ao literall
Exemplo:
$ ls
hello helol help hi lalala llala
$ ls *l[^l]*l*
helol lalala llala
Eu tenho um diretório com arquivos chamados hello, help, helol, llala, lalala, oi. Eu preciso ser capaz de listar apenas arquivos com pelo menos 2 l's em seu nome e esses l's não podem ser consecutivos (a menos que ainda haja outro l que não seja consecutivo). Portanto, apenas helol, llala e lalala devem ser listados.
Tags bash grep shell-script filenames