GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je extraire un seul bloc d'octets d'un fichier ?

C'est une vieille question, mais j'aimerais ajouter une autre version du dd commande qui convient mieux aux gros morceaux d'octets :

dd if=input.binary of=output.binary skip=$offset count=$bytes iflag=skip_bytes,count_bytes

$offset et $bytes sont des nombres en octets.

La différence avec la réponse acceptée de Thomas est que bs=1 n'apparaît pas ici. bs=1 définit la taille des blocs d'entrée et de sortie sur 1 octet, ce qui le rend terriblement lent lorsque le nombre d'octets à extraire est important.

Cela signifie que nous laissons la taille du bloc (bs ) à sa valeur par défaut de 512 octets. Utilisation de iflag=skip_bytes,count_bytes , on dit dd pour traiter les valeurs après skip et count comme quantité d'octets au lieu de quantité de blocs.


head -c + tail -c

Je ne sais pas comment cela se compare à dd en efficacité, mais c'est amusant :

printf "123456789" | tail -c+2 | head -c3

sélectionne 3 octets, en commençant par le 2 :

234

Voir aussi :

  • Comment récupérer un morceau arbitraire d'un fichier sous Unix/Linux
  • Manuel pour la tête
  • Manuel pour la queue

Essayez dd :

dd skip=102567 count=253 if=input.binary of=output.binary bs=1

L'option bs=1 définit la taille du bloc, faisant dd lire et écrire un octet à la fois. La taille de bloc par défaut est de 512 octets.

La valeur de bs affecte également le comportement de skip et count depuis les chiffres en skip et count sont les nombres de blocs ce dd sautera et lira/écrira, respectivement.


Linux
  1. Comment Cater un fichier depuis Awk ?

  2. Comment extraire le fichier filename.tar.gz

  3. En quoi install -c est différent de cp

  4. Comment extraire les sous-titres des films MP4 et MKV

  5. extraire un seul fichier d'un énorme fichier tgz

Comment extraire (décompresser) le fichier Tar Bz2

Comment extraire (décompresser) le fichier tar.xz

Comment accéder au shell ou exécuter des commandes externes depuis Vim

Comment extraire des adresses e-mail d'un fichier texte sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment extraire un fichier RAR sur Ubuntu