On Mon, 18 Jun 2001, Daniel Cordey wrote:

> On Wed, 13 Jun 2001, Félix Hauri wrote:
> > Je cherche un moyen de repérer une chaine binaire dans un fichier binaire,
> > pour ``découper'' le fichier afin d'en récupérer des parties.
> > En fait, il s'agit de trouver l'offset (nombres d'octets entre le début
> > du fichier et la chaine recherchée).
> 
> Dans des cas comme ca, je ne perd pas mon temps a essayer de faire 
> fonctionner ou rechercher une commande pretendant faire cela... et pourtant 
> dieux sait si c'est bete ! J'ecris vite un programme en C :-)
Pour ma part je range mon idée dans un coins en attendant de trouver une
soluce qui me permette d'utiliser les binaires dont je dispose:
(tjrs en bash2;-)

$ REPER=$(echo -en \\211\\120\\116\\107)
$ ligne=$(grep -ab $REPER $FILE 2>/dev/null|tr \\000-\\040 \ )
$ offset1=${ligne%%:*}
$ ligne=${ligne#*:}
$ ligne=${ligne%${REPER}*}
$ offset=$(( $offset1 + ${#ligne} ))

voire:

$ REPER=$(echo -en \\211\\120\\116\\107)
$ ligne=$(grep -ab $REPER $FILE 2>/dev/null|tr \\000-\\040 \ )
$ offset=$(( ${ligne%%:*} +
      $(echo -n "$ligne"|sed -e "s/^.*://g" -e "s/$REPER.*$//g"|wc -c) ))

... on s'amuse comme on peut:)
--
 Félix Hauri  -  <[EMAIL PROTECTED]>  -  http://www.f-hauri.ch

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.

Répondre à