Obtém a soma total do peso de cada arquivo por linha

0

Eu trabalho com o AIX e preciso descobrir a soma total de arquivos criados nos últimos 30 dias em um diretório. Já consegui extrair para um arquivo tudo criado nesses 30 dias, e com o comando AWK consegui criar outro arquivo no qual tenho o peso de cada um desses arquivos. Em conclusão, eu já tenho um arquivo com o peso de cada linha, mas preciso adicionar cada um para obter o peso total e não sei como fazê-lo. É importante esclarecer que existem cerca de 2.000.000 de linhas. Obrigado

    
por fedeemp 26.06.2017 / 22:17

3 respostas

1

Para obter uma soma dos tamanhos dos arquivos listados, um por linha, em file.list (assim, pressupõe-se que os nomes dos arquivos não contenham caracteres de nova linha):

perl -lne '$sum+=-s; END{print $sum}' file.list

Observe que, para links simbólicos, isso conta o tamanho do destino do link simbólico.

Esse é o tamanho aparente, que normalmente é diferente do uso do disco.

    
por 27.06.2017 / 00:02
0

Este comando mostrará a soma dos tamanhos dos arquivos que foram alterados nos últimos 30 dias:

find . -mtime -30 -exec stat -c %s {} \; | awk '{SUM+=$1}END{print SUM}'

Editar: soma de arquivos

    
por 26.06.2017 / 22:30
0

Eu uso este comando e funciona:

awk '{suma=0; for (i=1; i<=NF; i++) suma=$i;sumatotal=sumatotal+suma; print sumatotal}' COT2

COT2 é o nome do arquivo. Recebo o tamanho total em KB e, em seguida, converto esse número em GB.

    
por 28.06.2017 / 16:27

Tags