Como listar arquivos que não casam com um dado padrão via shell

image_pdfimage_print

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$'
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!