Bash dernier indice de

Désolé pour le boiteux bash question, mais je ne peux pas semblent être en mesure de s'en sortir.

J'ai le texte suivant cas simple:

  • J'ai variables comme artifact-1.2.3.zip

  • Je voudrais obtenir une sous-chaîne entre le tiret et le dernier indice de la dot (à la fois exclusif).

Mon bash compétences ne sont pas trop fort. J'ai le texte suivant:

a="artifact-1.2.3.zip"; b="-"; echo ${a:$(( $(expr index "$a" "$b" + 1) - $(expr length "$b") ))}

Production:

1.2.3.zip

Comment puis-je supprimer le .zip partie?

OriginalL'auteur carlspring | 2013-04-22