hello,
> :!sed s/abc/abc\n/g % | grep -c abc
Note: in sed, "what i just matched" is noted &
> Googled information suggests that the opposite of what's described in
> the man page may be true: You CAN use a literal newline, but you
> can't use \n.
BSD sed is more litteral AFAIK so you need to escape a real 0x10 but
both GNU and BSD support escaped newlines:
sed 's/abc/&\
/g'
This doesn't help in vi so you can fake it for a moment using tr:
sed 's/abc/&œ/g' | tr œ '\n'
Another solution is to write commands for this kind of tasks:
<<\. cat > ~/x
#! /bin/ksh
sed -r 's/a/&\
/g'
.
then from vi, :w !~/x
> literal carriage return, not a literal newline (^J). That's the case
> on Linux as well, and I don't know why.
neither do i.
> Your new subject line is slightly imprecise, as words are usually
> whitespace-delimited, and I was "looking for a way to count
> occurrences of
> 'abc' in FILE". Not every substring is a word.
right ... wasn't thinking that much to the name. sorry :)
regards
marc