On 04/09/2021, Parodper <parodper@gmail.com> wrote:
> I think I found something. From POSIX
> (https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html):
> > A line can be split by substituting a <newline> into it. The
> > application shall escape the <newline> in the replacement by preceding
> > it by a <backslash>.
Are you or is anyone clear on what they mean by substituting? Because
I'm not. I mean, \n is a substitute for the literal <newline>
character, right?
> So I wrote
> :!sed s/abc/abc\/g % | grep -c abc
> and then went back and pressed <ENTER> after that backslash, i.e.
> :!sed s/abc/abc\<ENTER>/g % | grep -c abc
> And it gave me a correct number of abc's for my test text.
I feel like the dumbest person in the world asking this, but what
EXACTLY do you mean by "and then went back"?
Are you using cursor keys? I.e. should I have gotten those to work in
vi in xterm and console? Because I haven't. The moment I try to
cursor back, I'm back to vi mode and the ex-style command mode line at
the bottom is gone.
Otherwise, if I try to just type
:!sed s/abc/abc\/g % | grep -c abc
and press enter, I only get the same output I also get out of
:!grep -c abc %
on its own -- which won't count multiple same-line occurrences.
A still confused
Ian
No comments:
Post a Comment