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

Publicado por Augusto 03/05/2005

[ Hits: 20.436 ]

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

mp3 para wav

Remoção de arquivos pela data

Inversor de Links com YAD

download video youtube

Counter Strike Dedicated Server


  

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