I think this is what you want:
$ sed 's/\([0-9]\.[0-9]\(\.[0-9]\)*\).*/\1/' <<.EOF
> 5.1
> 5.1.1
> 5.1.1-LINUX
> 5.1.1-FC3
> 5.1.1-RH73
> 5.1.1_debug
> 5.1.1_debug_O1G
> 5.1.2
> 5.1.2-LINUX
> 5.1.2-FC3
> 5.1.2-RH73
> 5.1.2_debug
> 5.1.2_debug_O1G
> .EOF
5.1
5.1.1
5.1.1
5.1.1
5.1.1
5.1.1
5.1.1
5.1.2
5.1.2
5.1.2
5.1.2
5.1.2
5.1.2
So in your script:
release=$( echo $directory | sed 's/\([0-9]\.[0-9]\(\.[0-9]\)*\).*/\1/' )
Brian D. McGrew wrote:
Morning all,
I'm in a shell script (hey, it's dark in here) in the middle of a 'for f
in *' loop and I walking through a list of directories that looks like:
5.1
5.1.1
5.1.1-LINUX
5.1.1-FC3
5.1.1-RH73
5.1.1_debug
5.1.1_debug_O1G
5.1.2
5.1.2-LINUX
5.1.2-FC3
5.1.2-RH73
5.1.2_debug
5.1.2_debug_O1G
All of these start with a number. I'm looking for a simple regex to
pick off everything up to and including the last numerical value and
throw away everything after the last numerical value.
Regex has always been a mystery to me, any help would be great!
TIA,
:b!
Brian D. McGrew { brian@xxxxxxxxxxxxx || brian@xxxxxxxxxxxxxxxxxxx }
--
This is a test. This is only a test!
Had this been an actual emergency, you would have been
told to cancel this test and seek professional assistance!