GNU/Linux >> Linux Esercitazione >  >> Linux

Come contare il numero di byte in un file, raggruppando gli stessi byte?

Questo usa od per mostrare un valore esadecimale per riga, quindi ordina e conta:

od -t x1 -w1 -v -An mybinaryfile | sort | uniq -c

(-w1 è un'estensione, non è richiesta da POSIX.)


Utilizzo di Perl per decomprimere il file slurpato in un array di byte e quindi utilizzare un hash per contare i byte univoci:

printf '\xA0\x01\x00\xFF\x77\x01\x77\x01\xA0' | 
  perl -0777 -nE '
    @bytes = unpack("C*",$_) 
    }{ 
    $counts{$_}++ for @bytes; 
    for $k (sort { $a <=> $b } keys %counts) {
      printf "%02X: %d\n", $k, $counts{$k}
    }
 '
00: 1
01: 3
77: 2
A0: 2
FF: 1

Se una versione sufficientemente recente di List::MoreUtils è disponibile, potresti essere in grado di semplificare il conteggio utilizzando il suo frequency funzione.


Linux
  1. Come aggiungere una nuova riga alla fine di un file?

  2. Come contare il numero di righe in un file dopo una corrispondenza Grep?

  3. Come aggiungere l'output a un file?

  4. Come posso contare il numero di caratteri in una variabile Bash

  5. Come si contano i messaggi della mailq di Postfix?

Come utilizzare il comando md5sum in Linux

Come contare le occorrenze di parole in un file di testo

5 modi per contare il numero di righe in un file

Come contare il numero di file in una directory ed eliminare il più vecchio se il numero supera 5?

Come contare il numero di righe in un file in Linux (esempi di comandi wc e nl)

come posso differenziare due sezioni dello stesso file?