Caros bom dia,alguém sabe como fazer a soma total do tamanho dos arquivos após uma listagem?Estava vendo que o ls não oferece esse tipo de parametro... :-D
Caros bom dia,alguém sabe como fazer a soma total do tamanho dos arquivos após uma listagem?Estava vendo que o ls não oferece esse tipo de parametro... :-D
disk use:
du -h
man du
Irado, essa pode ser uma parte da solução, mas a situação é aseguinte: tenho um server onde está uma bagunça,no diretório /home dos usários tem de td,fotos,musica e muitos,mas muitos mp3. só que eu não sei quanto espaço que os mp3 estão ocupando no server,queria fazer uma listagem do espaço total pra entregar pra diretoria pra eles me autoriarem a cortar td...mas eu não estou conseguindo obter o espaço total que os malditos estão ocupando.pelo du,eu consigo o mesmo efeito qur eu consguia com o ls -rh / |grep .mp3 ,consigo ver os arquivos,consigo,mas eu naun consigo obter o total de espaço utilizado,sendo que no dózão da vida,sempre que eu dou um dir da vida,ele mostra o espaço utilizado e o espaço livre...realmente eu não estou achando o rumo pra resolver isso..
Tentae
Já me responderam essa pergunta mesmo aqui: http://forum.under-linux.org/index.p...c,46140.0.html
Primeiro:
export MP3=`find /home -name *.mp3`
Depois:
du -sch $MP3
Falou !
2x0 pra vc marcio!!
vlw!!
Deus alguns erros:
du: invalid option --o
du: invalid option --d
du: invalid option --i
du: invalid option --e
du: invalid option --r
du: invalid option --.
du: invalid option --p
du: invalid option --3
try´du --help` for more information
vo dar uma olhada nas ourtas respostas...
é verdade cara...os arquivos tem espacos nos nomes...
o qq dah pra fazer a respeito?
Agooooooooora o bicho pegou ! :-D
Não sei meu... nunca passei por esse problema, preciso dar uma pesquisada.
Mas, se não me engano, já vi algo aqui mesmo no fórum da Under.
heheh....vo continuar procurando,achando alguma solução,eu posto entaun...hehehmas vlw pela força!!
Tenta colocar $MP3 entre aspas duplas, assim: "$MP3".
Abraços!
cara...Postado originalmente por Stéfano
por curiosidade e pq eu não me lembro como resolver os poréns de dados com espaços em variáveis, resolvi testar, mas não obtive sucesso:
cenário: /mp3/Rock Nacional
$ cd /mp3
$ MP3=`find "Rock Nacional" -name *.mp3`
$ du -sh MP3 - erro por causo dos espaços
$ du -sh "$MP3"
du: impossível acessar `(ele considerou os dados da variável como um único endereço)`: arquivo ou diretório não encontrado
mas tem outra questão que não foi levada em consideração:
se adentrarmos em um diretório e digitarmos:
du -sh
ele nos trará o tamanho total ocupado pelos arquivos deste diretório, mas se usarmos o comando:
du -sh *
ele nos trará o tamanho de cada arquivo no diretório.
e atentando para estas informações temos a seguinte conclusão:
a variável MP3 terá as informações:
diretorio/musica01.mp3
......
diretorio/musicaN.mp3
se o comando "du" ler a variável como queremos, ele nos trará o tamanho de cada arquivo, e não a soma de todos.
a meu ver para termos a soma de todos é preciso criar um script que colete os dados do du e some, mas antes é preciso resolver a questão dos espaços...
valeu
seus pobremas se acabaram-se
chegou o mais novo revolucionário
Mostrator Automatizator da Ocupação de Arquivos Especificados (podre pacarai mais tá valendo)
o tal do curioso é o caráleo mesmo... encontrei uma solução para o seu problema mas ainda nao encontrei para o meu.. heheeh
fiz este script e é só adequar a tua situação:
(se alguém ganhar dinheiro com este script eu quero uma garrafa de Véio Barreiro de presente)#!/bin/bash
# Variável que será responsável por conter os valores somados
COUNT=0
# Busca os arquivos com extensão mp3 no diretório "Rock Nacional" e lista somente a primeira coluna
for i in `find Rock\ Nacional -name *.mp3 -exec du {} \; | awk -F " " '{print $1}'`; do
# Soma o valor de cada arquivo a variável COUNT
let "COUNT=COUNT+$i"
done
# Os valores dos arquivos estão expressos em bytes
# O comando abaixo transforma bytes em Mbytes
let "COUNT=COUNT/1024"
# Mostra o valor de COUNT
echo $COUNT"MB"
valeu
se alguém encontrar uma forma mais fácil de somar variáveis me avisa...
galera...
encontrei um bugre no script...
atualmente ele está usando a flag "-name" no comando find, esta flag busca exatamente como for escrito, exemplo:
find -name *.mp3
e se houver um arquivo .MP3 ??
pensando desta forma é necessário trocar a flag -name por -iname, ficaria desta forma:
valeu#!/bin/bash
# Variável que será responsável por conter os valores somados
COUNT=0
# Busca os arquivos com extensão mp3 no diretório "Rock Nacional" e lista somente a primeira coluna
for i in `find Rock\ Nacional -iname *.mp3 -exec du {} \; | awk -F " " '{print $1}'`; do
# Soma o valor de cada arquivo a variável COUNT
let "COUNT=COUNT+$i"
done
# Os valores dos arquivos estão expressos em bytes
# O comando abaixo transforma bytes em Mbytes
let "COUNT=COUNT/1024"
# Mostra o valor de COUNT
echo $COUNT"MB"
Cara...
Ficou profi o script, parabéns !
Nem precisei ir atrás pra ver como faria, fiquei feliz qdo vi o aviso de resposta para o tópico :-D
Agora só falta acertar o Véio Barrero :-P :roll: :lol:
caraca,vo testar agora...
qto ao véi barreru...a gente dah um jeito..
hehehehe...
o negócio do véio barrÊro é só se alguém ganhar dindin com o script, mas se for usar no trabalho (pra garantir o trampo) nem precisa esquentar a cuca...
valeu
[]'s
du - sh nao ajuda ??