Supondo que você tenha dois arquivos, um que você deseja listar / usar e um que você deseja ignorar com o que ignorar contendo -
em seu nome de arquivo como em -busybox:
ls *.config | grep -v '-'
Da página man sobre grep -v option:
-v, --invert-match
Invert the sense of matching, to select non-matching lines. (-v is specified by
POSIX.)
O que basicamente significa listar todos os arquivos que terminam com .config
, pipe para grep e excluir aqueles contendo -
Ou algo que dá mais controle sobre a seleção:
ls | grep ".*[^-busybox].config"
O que significa:
Lista todos os arquivos no diretório canalizam para grep e, usando uma expressão regular, os filtram para incluir *
para tudo, mas não para os que estão entre parênteses [^-busybox]
, terminando com .config
[^]
exclui.