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

Reply via email to