Apagar arquivos recursivamente de um diretório pela extensão

Publicado por Augusto 03/05/2005

[ Hits: 20.620 ]

Download rmextensao




Este script foi desenvolvido para que eu pudesse automatizar o processo de busca e remoção de certas extensões em um servidor, ele apaga arquivos recursivamente de um diretório de acordo com a extensão especificada.
use <rmextensao --help> para obter ajuda !

obs : substitua o -i por -f do comando rm para que o script não peça confirmação  para cada arquivo à ser apagado.

  



Esconder código-fonte

#!/bin/bash
#
# rmextensao - Script usado para remover arquivos de um diretório
#              recursivamente conforme a extensão especificada
#
# Autor  : Augusto Alves Furtado (aka carnage)
# e-mail : augustoaf@gmail.com
#
# Data      : 03/05/2005
# Versão    : 1.0
#
# Copyright : LIVRE -  Este script pode ser alterado/modificado e
# redistribuído, mantendo-se apenas a identificação do Autor.

dir=$1
ext=$2

if [ "$1" = "--help" ] || [ "$1" = "-h" ]
  then
    echo ""
    echo "rmextensao 1.0"
    echo ""
    echo "Script usado para remover arquivos de um diretório"
    echo "recursivamente conforme a extensão especificada"
    echo ""
    echo "Modo de uso:"
    echo ""
    echo "rmextensao /diretorio mp3"
    echo ""
    echo "Autor  : Augusto Alves Furtado (aka carnage)"
    echo "e-mail : augustoaf@gmail.com"
    echo ""
    exit
fi

if [ $# != 2 ]; then
  echo "Use a opção -h ou --help para ajuda."
  echo ""
  echo 'Forneça o diretório e a extensão como parâmetros !'
  echo ""
else
  if test -d $1; then
    find $1 -iname *.$2 > $HOME/rmextensao.txt
    echo "`cat $HOME/rmextensao.txt | wc -l | tr -d ' '` arquivos encontrados !"
    echo ""
    if [ `cat $HOME/rmextensao.txt | wc -l | tr -d ' '` != 0 ]; then
      for i in `cat $HOME/rmextensao.txt`; do
        rm -i $i;
      done
    fi
  else
    echo 'Diretório não existe !'
    echo ""
  fi
fi

Scripts recomendados

Converte acentos e caracteres especiais para codificação HTML

Firewall simples e eficaz.

Instalador GnomeSlackbuild

Automatizar scan e atualização com o ClamAV

tirinha.sh


  

Comentários
[1] Comentário enviado por agl77 em 26/11/2008 - 09:47h

Cara fantastico, me ajudou muito
mas quando fui apagar arquivos com espaço deram erros
fui buscar o find como criar a saída tipo, foto\ 12.jpg e vi que ele pode deletar direto
entao ao invés de criar o arquivo pra ser lido com o cat ele ja se resume em encontrar e apagar

find $1 -name *.$2 -exec rm {} \;

onde dentro do scritp $1 é a pasta e $2 é a extensao

[2] Comentário enviado por foguinho.peruca em 13/07/2009 - 10:22h

Olá!

Bom script, me ajudou muito a apagar aqueles arquivos/diretorios do svn. Precisei apenas modificar o comando rm -i por rm -rf

Jeff


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts