Trimming Whitespace From Beginning and end of Text Lines

Martin McCormick martin at dc.cis.okstate.edu
Fri May 12 09:03:07 PDT 2006


Chuck Swiger quotes and writes:
>Giorgos Keramidas wrote:
>> This fails to remove multiple occurences of the [[:space:]] class.
>>
>> There are at least the following ways:
>>
>> 	sed -i -e 's/^[[:space:]]*' -e 's/[[:space:]]*$//' file ...

	That did it!  As soon as I saw the *, I knew what I was
not doing.

>> 	perl -pi -e 's/^\s*(\S.*\S)[ \t]*$/$1/' file ...
>>
>> The first one seems more straightforward to me most of the time,
>> but there are times I find Perl's `-pi -e ...' idiom very convenient.
>>   
>It is, and I wish to acknowledge the above are entirely valid solutions 
>to the problem, but...
>
>   python -c 'import sys; print sys.stdin.read().strip()' < file...
>
>...has the advantage of being human readable.  My old 300-baud accoustic 
>modem used to generate output which in hindsight looks astonishingly 
>close to regex character classes.  :-)

	Wow!  I'd almost forgotten some of that by-gone era.  I
had a 1200-baud modem that, in conjunction with the clock slips
between our local telephone company and our PBX, used to march []
and various other garbage characters that did look just like
regex.  You just had to keep re-dialing until you finally got a
connection that worked.

	Thanks to everyone for the help.

Martin McCormick WB5AGZ  Stillwater, OK 
Systems Engineer
OSU Information Technology Department Network Operations Group


More information about the freebsd-questions mailing list