Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Dec 2005 14:14:09 -0500
From:      Mikhail Teterin <mi+mx@aldan.algebra.com>
To:        Dan Nelson <dnelson@allantgroup.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: what's an equivalent for the following Perl one-liner?
Message-ID:  <200512221414.10321.mi%2Bmx@aldan.algebra.com>
In-Reply-To: <20051222183250.GB39217@dan.emsphone.com>
References:  <200512211704.49530.mi%2Bmx@aldan.algebra.com> <20051222183250.GB39217@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
четвер 22 грудень 2005 13:32, Dan Nelson Ви написали:
> In the last episode (Dec 21), Mikhail Teterin said:
> > I'd like a sed string, that will remove both the carriage returns and
> > the blanks at eol in one go. Perl appears to recognize the \r
> > character and DTRT:
> >
> > 	perl -p -e 's,[ \r]+$,,' < in > out
> >
> > What's the sed's equivalent? Thanks!
>
> sed -E 's,[ ^M]*$,,' < in > out
>
> Note the ^M is a single control-character (entered via Ctrl-V Ctrl-M at
> a shell prompt for example).

Yes, I used this in the past, but the ports' Makefiles are supposed to be 
ASCII-only :-(

> sed does not parse backslash-escapes except for \n which represents a
> newline.

Is not that a bug really? There may be some legacy reasons not to do it by 
default, but I'd expect the -E flag to turn on the recognition of such 
symbols...

Thanks!

	-mi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200512221414.10321.mi%2Bmx>