Iremos apresentar duas formas rápidas que podem ajudar na hora de obter a lista de todos os arquivos que não atendem com um dado padrão pesquisado.
Imaginemos que queiramos todos os arquivos .php de um diretório. Bastaria para tanto:
$ ls -l *.php
E a lista de arquivos com extensão .php seriam apresentados.
E na situação que queiramos todos os arquivos não terminados com .php por exemplo? Ou seja, que não casam com um dado padrão qualquer.
Para isto, temos o menos conhecido comando:
ls !(*.php)
Ele passou a funcionar depois da versão 2.02 do Bash.
Caso não tenha acesso a esta funcionalidade, é possível obter a lista com o seguinte comando:
ls | grep -v '\.php$'