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.