[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-bash] Reading and handling "control" characters from a file
From: |
Davide Brini |
Subject: |
Re: [Help-bash] Reading and handling "control" characters from a file |
Date: |
Sun, 22 Apr 2012 01:56:46 +0200 |
On Sun, 22 Apr 2012 01:48:49 +0200, Davide Brini <address@hidden> wrote:
> > > Shouldn't the single quote trick work here? eg
> > >
> > > $ a=$(printf '\x4\n')
> > > $ printf "%d\n" "'$a"
> > > 4
> > >
> >
> > Yes, I thought that was the solution for a brief time, but it still
> > fails when the character is a newline, for some odd reason. Bash seems
> > to be rather fickle when it comes to certain things, allowing this,
> > objecting to that.
>
> You must be doing something odd, because newline works for me:
>
> $ a=$'\n'
> $ printf "%d\n" "'$a"
> 10
> $ printf -v byte "%d" \'"$a"
> $ echo "$byte"
> 10
>
> Check how you're handling whatever you think should contain the newline
> before converting it.
Maybe I see, you're using "read" to get the values. In that case, use the
-d '' option to read so bash will only stop at NULs and newlines will be
read just like any other character.
--
D.