Usando o comando find em outros diretórios?

0

O comando find . -type f -name '*.jpg' -delete apaga tudo no diretório atual e exclui recursivamente os arquivos de lá.

O que precisa ser atualizado dentro desse comando para que ele apenas remova todos os arquivos em um diretório especificado, por exemplo, /users/user/desktop ?

    
por Wunderbread 11.04.2017 / 20:10

1 resposta

3

O comando find recebe seu (s) primeiro (s) argumento (s) como diretor (es) em que executar sua ação.

Um único ponto . representa o diretório atual. (Dois pontos .. representa o diretório pai.) Isso significa que seu comando exclui todos os arquivos com um sufixo .jpg no (e sob) diretório atual.

Para excluir todos os arquivos com um sufixo .jpg em outro diretório, por exemplo, /Users/username/Desktop , você simplesmente usará

find /Users/username/Desktop -type f -name '*.jpg' -delete
Isso também afetará todos os subdiretórios.

Adicione a opção -maxdepth para limitar os níveis de subdiretório. O comando

find /Users/username/Desktop -maxdepth 1 -type f -name '*.jpg' -delete
exclui arquivos com a extensão jpg da pasta Desktop ; ele não acessa pastas dentro (abaixo) da área de trabalho.     
por 11.04.2017 / 20:24