shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Dúvida no find com size


From: Davidson Rodrigues Paulo
Subject: Re: [shell-script] Dúvida no find com size
Date: Fri, 11 Jan 2008 14:26:49 -0200

Ricardo,

Em 10/01/08, Ricardo Silveira <address@hidden> escreveu:
>  Estou criando um script que lista os diretorio maiores que determinado
>  tamanho para poder apaga-los, mas estou tendo um problema na hora de
>  executar o find.

Experimente o script abaixo, que procura os diretório maiores que os
especificados e os exibe na tela:

#!/bin/bash

Maximo=3G # Acima disso, será exibido
Unidade=$(echo $Maximo | sed 's/[0-9]*//') # Nesse caso, 'G'
Limite=${Maximo%$Unidade} # Nesse caso, 3

while read Linha ; do
  Diretorio=$(echo $Linha | awk '{print $2}')

  # Tem algum diretório dentro do diretório? Se tiver, vai para o
próximo diretório.
  if ls -d ${Diretorio}/*/ &> /dev/null ; then
    continue
  fi

  Tamanho=$(echo $Linha | awk '{ print $1 }' | cut -d"$Unidade" -f1)

  if [ $Tamanho -gt  $Limite ] ; then
    echo $Linha | awk '{ print $2 }'
  fi
done < <(find -type d -exec du -hs {} \; | egrep "^[0-9]*${Unidade}")

Se isso funcionar, apenas troque o echo por rm no comando executado
dentro do if.

Um abraço,

-- 
Davidson Paulo
Administrador de Sistemas Linux
Certificado LPI Nível 1: LPI000132770
Líder Nacional dos Grupos de Usuários BrOffice.org
http://davidsonenatalia.blogspot.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]