[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/