Glob Not Match?

4

Como listar arquivos que não combinam com glob?

Por exemplo, digamos que eu tenha um diretório que contenha centenas de arquivos, dos quais 97% têm a extensão .png .

Eu sei que posso listar os arquivos PNG com:

ls *.png

Mas, como faço para listar o oposto, ou seja, apenas os arquivos não-PNG?

    
por ma11hew28 11.07.2012 / 23:52

1 resposta

6

Usando ls:

ls -I "*.png"

as aspas são importantes para parar o shell avaliando o *

Usando o find:

find . -not -name "*.png"

Se você tiver subdiretórios (com arquivos), poderá limitar a pesquisa:

find . -maxdepth 1 -type f -not -name "*.png" 

onde

  • -maxdepth 1 limita-o ao diretório atual
  • -type f só permite imprimir arquivos
por 11.07.2012 / 23:56

Tags