GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo contar la cantidad de bytes en un archivo, agrupando los mismos bytes?

Esto usa od para mostrar un valor hexadecimal por línea, luego ordena y cuenta:

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

(-w1 es una extensión, POSIX no lo exige).


Usar Perl para desempaquetar el archivo sorbido en una matriz de bytes y luego usar un hash para contar bytes únicos:

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

Si una versión suficientemente reciente de List::MoreUtils está disponible, es posible que pueda simplificar el conteo usando su frequency función.


Linux
  1. ¿Cómo contar el número de valores únicos de un campo en un archivo de texto delimitado por tabuladores?

  2. ¿Cómo redirigir la salida de system() a un archivo?

  3. ¿Cómo puedo contar la cantidad de caracteres en una variable Bash?

  4. Cómo obtener solo el número de líneas de un archivo

  5. ¿Cómo puedo *solo* obtener la cantidad de bytes disponibles en un disco en bash?

Cómo usar el comando md5sum en Linux

Cómo contar las apariciones de palabras en un archivo de texto

5 formas de contar el número de líneas en un archivo

¿Cómo contar la cantidad de archivos en un directorio y eliminar los más antiguos si el número supera los 5?

Cómo contar el número de líneas en un archivo en Linux (ejemplos de comandos wc y nl)

¿Cómo puedo diferenciar dos secciones del mismo archivo?