
Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tlug] binary search of binary data
On Thu, Dec 30, 2004 at 12:43:08AM +0900, Edward Wright wrote:
> 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 is a shell builtin and printf is an external program. Save
the PIDs! (Shell builtins will run faster, if you have lots of
them.)
> > :) [~] 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...
The "od -t x1" is just to demonstrate that the raw byte-value
output is, indeed, what I claim it is. Instead of piping it to
od, you can (say) dump it into a file.
> 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...
Oh, hrm, that's interesting. I'm using zsh, which preserves the
entire output.
I just verified it with my bash-3.00 and it does, indeed,
truncate. I just sent in a bug report to the bash folks about
this--I think that's incorrect behaviour.
--Dave
Home |
Main Index |
Thread Index