Hex do tamanho do arquivo

2

Eu estou seguindo um tutorial sobre alguns desenvolvedores do kernel. Eu encontrei uma operação onde eu tenho que usar dd like

dd ... if=PBL.bin of=... count=block_number

A variável block_number é definida como

The HEX of ($filesize - 1)/512 + 1

em que $filesize é o tamanho do arquivo do arquivo de entrada PBL.bin , conforme determinado no comando dd acima.

Como faço para calcular esse valor? Agradecemos antecipadamente

    
por Vigneshwaren 05.02.2014 / 10:07

2 respostas

2

E sobre:

printf "%x" 'stat -c "%b" PBL.bin'

printf imprimirá no formato hexadecimal (% x) a saída do stat que solicita apenas o número de blocos alocados (% b) do arquivo.

Se você não confiar no número de blocos alocados conforme relatado por stat, então, manualmente:

printf "%x" $(( ('stat -c "%s" PBL.bin ' - 1) / 512 + 1))

Então você pega o tamanho do arquivo e depois faz as contas manualmente

    
por 05.02.2014 / 10:23
1

O segundo é que dd aceita count como decimal. De qualquer forma, aqui está o caminho Perl para conseguir o que você está perguntando:

perl -e 'printf ("%x\n", -s "PBL.bin")'
    
por 02.12.2016 / 17:51