On 2006-05-12 09:50, Martin McCormick <[EMAIL PROTECTED]> wrote: > This looks like something sed should be able to do, but I > haven't had any luck at all. I wanted to remove any whitespace > that has accidentally gotten added to the beginning or end of > some lines of text. I made a test file that looks like: > > left justified. > lots of spaces. > > and the best I have done so far is to get rid of about 3 spaces. > > Attempt 1. > > #! /usr/bin/sed -f > s/ \+//g > s/^ //g > s/ $//g
This fails to remove TAB characters from either the start or the end of a line. > This looks like it should do the job, but the leading and > trailing spaces are still mostly there. > > I wrote another script. Attempt 2. > > #! /bin/sh > > sed 's/^[[:space:]]//g' \ > |sed 's/[[:space:]]$//g' 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 ... 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. _______________________________________________ email@example.com mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"