Script ou comando para somar todos os diretórios e mostrar o tamanho total

1. Script ou comando para somar todos os diretórios e mostrar o tamanho total

Slash
sl4sh

(usa Outra)

Enviado em 30/07/2015 - 19:59h

Olá Pessoal !

A minha dúvida é o seguinte, estou desenvolvendo um script onde a partir de uma lista de texto onde terá o nome dos diretórios, o script pegar o nome de cada diretório, mostrar o tamanho de cada diretório e depois o total. Exemplo:

Preciso somar o tamanho total de algumas contas no servidor, digamos que eu tenho os seguintes diretórios:

/home/conta1
/home/conta2
/home/conta3
/home/conta4
/home/conta5
/home/conta6

Por questão de um filtro, eu irie criar um arquivo de texto com o nome lista.txt e nele irei colocar o nome dos diretórios que eu desejo mostrar o tamanho individual depois a soma de todos:

cat lista.txt
conta2
conta4


Digamos que eu deseje o tamanho dos diretórios acima, eu tentei fazer um for mas não deu certo:

for i in $(cat lista.txt); do du -hcs /home/$i;done

o resultado dele saí assim, mostrando cada conta e o total em baixo.

684K /home/conta2
684K total
732K /home/conta4
732K total
1,1M /home/conta5
1,1M total

Para que apareça da maneira que eu desejo, tem que rodar o comando assim: du -shc /home/conta1 /home/conta2 /home/conta3

Existe alguma maneira de fazer o script pegar o nome de cada diretório, somar a quantidade de diretórios, jogar em uma variavel cada nome e em seguida executar assim:

du -shc /home/$1 /home/$2 /home/$3


Agradecido, pesquisei muito na internet mas não achei nada. Muito obrigado antecipadamente a todos !


  


2. Re: Script ou comando para somar todos os diretórios e mostrar o tamanho total

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 30/07/2015 - 20:23h

olá,

Se no arquivo lista.txt , estiverem os caminhos completos (/home/contaX), Sugiro fazer assim:
du -shc $(cat lista.txt | paste -s) 


Caso no lista.txt, estiverem somente o nome da conta, faz assim:

du -shc $(sed 's/^/\/home\//' lista.txt | paste -s) 


abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts