Diferença de tamanho do arquivo das pastas de mesmo nome

5

Duas pastas diferentes, possuem o mesmo nome, mas possuem tamanho de arquivo diferente. Existe algum comando linux que possa comparar duas pastas e me dizer o diff no tamanho do arquivo ao mesmo tempo?

    
por Roman Fox 22.01.2013 / 11:07

3 respostas

3

bash alternativa para a resposta de Stephane:

diff -u <(cd dir1 && du -a | sort -k2) <(cd dir2 && du -a | sort -k2)

Essa e a resposta de Stephane assumem que não há novas linhas em seus nomes de arquivos.

    
por 22.01.2013 / 15:21
2

Com zsh e vim , você poderia fazer:

vim -d =(cd dir1 && du -a | sort -k2) =(cd dir2 && du -a | sort -k2)

(você pode substituir vim -d por diff -u ou kompare ou seu utilitário de comparação de texto preferido).

A forma =(...) de substituição de comandos é igual à <(...) one encontrada em ksh, zsh e bash, com a exceção de que usa um arquivo temporário em vez de um canal para poder trabalhar com comandos que esperam um arquivo regular (como vim ). Para comandos que não têm essa limitação (como diff ), você pode usar <(...) .

    
por 22.01.2013 / 11:17
0

O diretório é apenas um mapeamento entre nomes de arquivos e inodes, não há "arquivos no diretório". Você pode pedir o tamanho dos arquivos que podem ser acessados pelo diretório pelo comando du(1) ). Se você está preocupado com o tamanho do diretório em si (como relatado por ls -ld directory ), isso inclui nomes de arquivos atuais, espaço que foi usado por arquivos apagados, preenchimento e burocracia.

Se você quiser saber se os arquivos alcançáveis têm os mesmos nomes / conteúdos, cmp(1) compara dois arquivos. Ou diff(1) (com o -r flag) compara os diretórios de forma recursiva (embora seja voltado para texto).

    
por 22.01.2013 / 15:41