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

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

Re: [shell-script] script para agrupar arquivos por espaço limitado


From: Adilson dos Reis
Subject: Re: [shell-script] script para agrupar arquivos por espaço limitado
Date: Thu, 30 Jul 2015 16:43:07 +0000 (UTC)

Boa tarde a todos,

Sou novato no assunto, mas fiz algo assim que funciona ao ser executado dentro do dir com as fotos, todas com nome *.jpg e sem espaço nos nomes.

max=4000000000; dvd=0; espaco=$(($max+1)); ls -l | egrep jpg | while read i; do espaco=$(($espaco+$(echo $i | cut -d" " -f5))); if [ $espaco -gt $max ] ; then dvd=$(($dvd+1)); espaco=0; mkdir dvd_$dvd; fi; cp $(echo $i | cut -d" " -f 9) $(echo dvd_$dvd); done

Adilson.




Em Quinta-feira, 30 de Julho de 2015 13:11, "Tiago Peczenyj address@hidden [shell-script]" <address@hidden> escreveu:


 
eu vejo um pequeno problema ai, vejamos se é ruim ou não.

Vc tem outros tipos de arquivo como diretorios, symlinks, hardlinks que podem te dar uma noção errada de volume. E um arquivo de poucos bytes pode ocupar na pratica mais bytes ( quem nunca viu arquivo pequeno que na pratica ocupava 4 ou 8 kb? ).

Se vc quer apenas arquivos regulares e o tamanho total não é um problema e vc quer fazer algo como uma copia sequencial, eu acho que eu tentaria fazer algo como

find . -type f | xargs du | awk -v i=0 -v sum=0 -v limit=1000 '
sum + $1 > limit {
   i++; 
  sum=0 
  sum += $1; 
  file = $2; 
  print "copy " file " to /caminho/backup_" i "/" file 
}'

isto é só um teste. vc pode gerar um script que vai fazer cada copia e depois executar este script. deve funcionar.


 

2015-07-29 14:19 GMT+02:00 Márcio de Araújo Benedito address@hidden [shell-script] <address@hidden>:
 
Colegas, bom dia!

Tenho uma pasta com quase 10 mil arquivos de fotografias que fui juntado ao longo dos anos. Agora quero gravar tudo em DVD. Uma opção seria usar o TAR com a função split, mas queria gravar os arquivos de forma individual. Para isso eu precisaria agrupar os arquivos em "porções" de mais ou menos 4GB de tamanho para caber no DVD. Se eu for fazer isso pelo gerenciador de arquivos vou gastar o restante das férias, por isso pergunto a vocês se existe alguma forma de eu obter esse agrupamento por meio de um script. Pode ser algo como ir lendo o conteúdo do diretório e mover os arquivos até a soma total do tamanho deles somar mais ou menos 4GB, de forma que eu teria várias pastas contendo a sequencia dos arquivos com tamanho aproximado de 4GB cada. Existe essa possibilidade?
 
-- 
"Esta mensagem não contém nenhuma informação confidencial,  pois se é para ser  confidencial não poderia ser transitada  por  e-mail em uma lista pública. Portanto você pode  fazer  qualquer coisa com esta mensagem,  incluindo esta sátira à  notas de copyrights  ridículas, que eu não estou nem aí!!!"



--
Tiago B. Peczenyj

http://about.me/peczenyj



reply via email to

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