strip version from package name using Bash

Posted by cd1 on Stack Overflow See other posts from Stack Overflow or by cd1
Published on 2010-05-24T17:44:15Z Indexed on 2010/05/24 18:21 UTC
Read the original article Hit count: 165

Filed under:
|
|

hi,

I'm trying to strip the version out of a package name using only Bash. I have one solution but I don't think that's the best one available, so I'd like to know if there's a better way to do it. by better I mean cleaner, easier to understand.

suppose I have the string "my-program-1.0" and I want only "my-program". my current solution is:

#!/bin/bash

PROGRAM_FULL="my-program-1.0"
INDEX_OF_LAST_CHARACTER=`awk '{print match($0, "[A-Za-z0-9]-[0-9]")} <<< $PROGRAM_FULL`
PROGRAM_NAME=`cut -c -$INDEX_OF_LAST_CHARACTER <<< $PROGRAM_FULL`

actually, the "package name" syntax is an RPM file name, if it matters.

thanks!

© Stack Overflow or respective owner

Related posts about bash

Related posts about shell