[K12OSN] Help with sed script!
Timothy Legge
timlegge at gmail.com
Fri Aug 10 02:22:31 UTC 2007
On 8/9/07, Les Mikesell <les at futuresource.com> wrote:
> Sed does have a way to do things like that with hold and get operations
> across multiple lines, but the syntax is fairly insane compared to perl.
> And sed is another program where you need to use info instead of man
> for the real documentation - or google for sed and holding space for
> some examples.
Because it is possible:
Join LOCAL:
sed -n '/DC=LO/!{p;b};s/ *$//;h;n;s/^ *//;x;G;s/\n//p' filename
;-) save the following to a file and execute with the filename to
process as the parameter.
sed -n '
# print line and branch to end only for non matching lines
/DC=LO/!{p;b}
# remove trailing spaces
s/ *$//
# store the current line
h
# read next line destroying current line
n
# remove reading spaces
s/^ *//
# swap the current line and stored line
x
# append the new stored line to the current line
G
# remove embedded new line
s/\n//p
' $2
note that I had to use sed's -n and manually print because otherwise
it seemed to print both the original and new line (there is probably
a simple solution).
tim
More information about the K12OSN
mailing list