marimbondo
(usa Outra)
Enviado em 10/12/2019 - 14:57h
Você precisa de uma lista de arquivos. Use o Ls, não use nem o Find nem o Du.
O Du é para ver tamanho de diretórios. O Ls é recomendado para ver o tamanho dos arquivos.
Primeramente, " arquivos utilizados no período de um ano" é muito vago. O que você quer dizer com utilizados?
O ext4 guarda várias informações de acesso, como a hora da criação do arquivo, leitura e da sua modificação...
No ls, temos o formato de lista longa -l, e com essa opção podemos adicionar ( veja man ls ):
-t sort by modification time, newest first
-u show access time and sort by name
Então você pode usar alguma coisa do tipo:
$ ls -l -t -R .
-l é a opção de listas longas (detalhadas), o -t vai arrumar por hora de modificação, o -R é para ser recursivo.
Ainda, você pode adicionar a opção --full-time que coloca horário em formato mais preciso...
Depois, é só você brincar com o grep para filtrar, ou com o comando sort, opções organizar pela 3a coluna, como opção -k etc, e o comando cut -f e tal.
Acho que você pode precisar do comando cut -f tal coluna e depois somar os valores obtidos.
Ainda, se você souber um pouco de globbing do Bash, pode usar construções como
$ ls -lt --full-time **/*.txt
Exemplo:
Calcular tamanho, em "bytes", dos arquivos com hora de modificação em 2019:
$ ls -l -R -t --full-time . | grep '2019' | sed 's/\s\s*/ /g' | cut -d' ' -f5 | paste -sd+ | bc
Outro exemplo, listar/calc tamanhos de todos os arquivos com extensão .txt modificados em 2019. Para isso, você deve ativar uma opção do Bash antes para ampliar o globbing e funcionar:
$ shopt -s globstar
$ ls -l -t --full-time **/*.txt | grep '2019' | sed 's/\s\s*/ /g' | cut -d' ' -f5 | paste -sd+ | bc
The du Command – Check Disk Usage on the Command Line
https://www.putorius.net/linux-du-command.html
Ref para o sort :
https://unix.stackexchange.com/questions/104525/sort-based-on-the-third-column