Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] binary search of binary data



On Wed, Dec 29, 2004 at 07:12:05AM -0800, Dave Brown wrote:
> On Wed, Dec 29, 2004 at 11:50:51PM +0900, Edward Wright wrote:
> > I don't know how to make prinf output the byte values. It'll ouput the
> > hex representation no problem....
> > 
> > I tried using it to create the above mentioned file like so:
> > 
> > printf $'\x26\x9d\x00\x00\x28\x9d\x00\x00' >testfile
> 
> Why try so hard?  Why not just use echo?

I believe prinf (with no format string) and echo -n are functionally
equivalent.

> 
> :) [~] echo -n $'\x26\x9d\x00\x00\x28\x9d\x00\x00' | od -t x1
> 0000000 26 9d 00 00 28 9d 00 00
> 0000010
> :) [~] 
> 

1) again, I need the byte values, not the hex representation, so I'm
not sure what this gets me...

2) interestingly, when I used the exact command you used, I got
different output:

echo -n $'\x26\x9d\x00\x00\x28\x9d\x00\x00' | od -t x1
0000000 26 9d
0000002

truncated at the null byte. Hmm...

> > but I ended up with a 2 byte file.... apparently it quit when it hit
> > the null byte.... which kinda makes sense.
> 
> Yeah, that's because, I suppose, printf is just a wrapper around
> the C function call, which (natch) uses C strings.
> 
> > (I tried the same thing as an argument to grep, but it also
> > failed - probly for the same reason)
> 
> That kinda surprises me, and I'd say it's probably worth a bug
> report to the GNU grep folks.

No, I was using the output from printf, so that's what grep was
seeing......

Ed


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links