GNU/Linux >> Tutoriels Linux >  >> Linux

Comment compter le nombre d'octets dans un fichier, regroupant les mêmes octets ?

Cela utilise od pour afficher une valeur hexadécimale par ligne, puis trie et compte :

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

(-w1 est une extension, elle n'est pas imposée par POSIX.)


Utiliser Perl pour décompresser le fichier slurpé dans un tableau d'octets, puis utiliser un hachage pour compter les octets uniques :

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 une version suffisamment récente de List::MoreUtils est disponible, vous pourrez peut-être simplifier le comptage en utilisant son frequency fonction.


Linux
  1. Comment compter le nombre de valeurs uniques d'un champ dans un fichier texte délimité par des tabulations ?

  2. Comment ajouter la sortie à un fichier ?

  3. Comment rediriger la sortie de system() vers un fichier ?

  4. Comment puis-je compter le nombre de caractères dans une variable Bash

  5. Comment puis-je *uniquement* obtenir le nombre d'octets disponibles sur un disque en bash ?

Comment utiliser la commande md5sum sous Linux

Comment compter les occurrences de mots dans un fichier texte

5 façons de compter le nombre de lignes dans un fichier

comment puis-je différencier deux sections du même fichier ?

Comment obtenir uniquement le nombre de lignes d'un fichier

Comment compter les messages du mailq de Postfix ?