[plug] [PLUG] sed will not
Matt Kemner
zombie at networx.net.au
Thu Oct 29 11:21:29 WST 1998
On Wed, 28 Oct 1998, Navarre wrote:
> I wished to perform a simple operation using sed to search for the
> string
>
> GAWK(1)^I
>
> tab and replace it with a form feed character, the string Gawk(1) and
> the tab character.
> I tried using sed 's/GAWK(1)\11/\14Gawk(1)\11/' gawk.txt
> This did not match any lines in the file.
That's because you can't pass "nonprintable" characters to sed with
\number, because they have a special meaning for sed (for replacing bits
and pieces of the search string, ie:
echo foobarbazquux|sed 's,\(.*\)\(bar\)\(baz\)\(.*\),\1and\3,' outputs
"fooandbaz" :)
Unfortunately I don't know how one can pass "unprintable" characters to
sed - although \14 should correspond to ^N, so you ought to be able to
type "control-v control-n" to embed a ^N symbol
Be aware that ^N has a special meaning to the linux console - it will turn
all your lower case characters into graphical characters, which you can
only escape from by typing "echo control-v control-o" or if your terminal
is really screwed "echo control-V <esc> c" :)
As David mentioned you can do the same with the tab character, just press
control-V and press tab to embed a tab.
Hope this helps
- Matt
More information about the plug
mailing list