[Chicago-talk] Replacing consecutive newlines with a single newline
Steven Lembark
lembark at wrkhors.com
Fri Sep 26 09:54:06 PDT 2008
Vijay Kumar wrote:
> Wow...that solves my problem.
> Thanks Andy, Randall and Jay.
> I am thrilled to get responses from you.
>
> However, I would like to use the following one because I think it is
> more readable.
>
> perl -pe 'BEGIN{undef $/} s/\n+/\n/g' inputfile
All this is doing is rejecting lines with nothing on
them:
print -n -e 'print unless /^\n/'
This can also be written as
perl -n -e 'print if /./'
Since since the '.' won't match a newline and you'll only
print lines with SOMEthing else on them.
Note: This isn't golf: depending on the size of your file
processing it by line can actually speed things up and
saves you from creating huge input buffers for no good
reason (see URI's description of Slurp for more). You
also have to examine fewer characters (just the first
one on each line) rather than searching and replacing
the entire input buffer.
--
Steven Lembark 85-09 90th St.
Workhorse Computing Woodhaven, NY, 11421
lembark at wrkhors.com +1 888 359 3508
More information about the Chicago-talk
mailing list