Bash Localizar arquivos com tamanho zero e excluir arquivos com diferentes extensões

6

Este comando irá encontrar arquivos de tamanho zero:

find . -size 0

Um nome de arquivo retornado pode ser

filename.001

Eu estou procurando por um forro que apague arquivos encontrados com este, mais qualquer um que tenha o mesmo nome de arquivo com uma extensão diferente (que seria diferente de zero), então esses arquivos também serão excluídos:

filename.txt
filename.bak
filename.ZZz
    
por Paul 02.12.2011 / 03:40

1 resposta

6
$> find . -size 0 | while read f; do rm "${f%.*}."* ; done

explicação:

  1. encontre todos os arquivos com tamanho 0
  2. canaliza os nomes para o loop while
  3. corte da parte do sufixo (extensão) ${f%.*} (leia man bash )
  4. rm todos os outros arquivos com a mesma base
por 02.12.2011 / 09:27

Tags