GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux pour récupérer une plage d'octets à partir d'un fichier

Solution 1 :

Le DareDevil des commandes Unix, dd à la rescousse !

dd if=yourfile ibs=1 skip=200 count=100

Cela commencerait à partir de l'octet 200 et afficherait les 100 octets suivants, ou en d'autres termes, les octets 200-300. ibs signifie que dd ne lit qu'un seul octet à la fois au lieu des 512 octets par défaut, mais écrit toujours dans des blocs de 512 octets par défaut. Allez voir si ibs nuit à la performance, j'espère que non.

Solution 2 :

Si vous êtes intéressé par les octets, est-ce que od être plus intéressant.

-j, --skip-bytes=bytes
-N, --read-bytes=bytes

Donc pour lire les 16 octets à partir de l'octet 1024, et sortir en ascii

od -j 1024 -N 16 -a /bin/sh

Solution 3 :

Vous pouvez utiliser dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks (éventuellement avec bs=1 pour obtenir des blocs d'un octet, sinon il utilise des blocs de 512 octets). Je ne sais pas à quel point il est efficace de lui dire d'écrire un octet à la fois.


Linux
  1. Utilisation de Google Drive à partir de la ligne de commande Linux

  2. Suppression de lignes spécifiques d'un fichier dans la ligne de commande Linux

  3. Commande wc Linux

  4. Commande grep Linux

  5. Comment récupérer les informations d'un fichier vidéo à partir de la ligne de commande sous Linux ?

Moins de commande sous Linux

Commande Cp sous Linux (Copier des fichiers)

Commande Gzip sous Linux

Commande Gunzip sous Linux

Commande Stat sous Linux

Copier un fichier dans plusieurs répertoires à partir de la ligne de commande sous Linux