begin quoting Gus Wirth as of Mon, Jul 16, 2007 at 11:53:53AM -0700:
> I have a bunch of lines similar to the following generated from an rpm
> spec file using grep:
>
> %{_libdir}/wine/odbc32.dll.so
>
> I want to trim off the front part %{_libdir}/wine/ and the back part
> .dll.so leaving only the base name of the file. All the lines have
> exactly the same front and back parts so I can do an exact match. I'm
> trying to figure out if I can do the removal in one shot or if I need
> two passes to do this, but right now about the only thing I know about
> sed is that it exists and is used for stuff like this. Trying to use GNU
> info pages is a recipe for headaches. Is there a simple reference for
> sed anywhere other than the O'Reilly sed & awk book? Or, since this is a
> one-off project, can someone give me some hints?
You can give more than one expression to sed at a time.
You can anchor to the front or back of the line (using ^ and $).
I believe that most sed implementations allow for groups, but if it's just
front and back of fixed strings, you probably don't need that.
Perhaps:
sed -e 's:^%{_libdir}/wine::' -e 's/\.dll\.so$//' < infile > outfile
--
"That's what I sed!" he said.
Stewart Stremler
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list