hm..
Nao se sei é mais elegante ou menos do que sua forma, mas é 1 forma:
root@bishamonten:~# SRC="scilab-3.9.7.tar.gz"
root@bishamonten:~# PACKAGE="$(echo $SRC | sed
's/\(.*\)-\(.*\)\(\..*\..*\)$/\1/')"
root@bishamonten:~# VERSION="$(echo $SRC | sed
's/\(.*\)-\(.*\)\(\..*\..*\)$/\2/')"
root@bishamonten:~# EXTENSION="$(echo $SRC | sed
's/\(.*\)-\(.*\)\(\..*\..*\)$/\3/')"
root@bishamonten:~# echo $PACKAGE $VERSION $EXTENSION
scilab 3.9.7 .tar.gz
root@bishamonten:~#
Sorte,
Flávio do Carmo Junior
On 9/13/06, address@hidden <address@hidden> wrote:
> Olá pessoal,
>
> Estou buscando uma forma alternativa de fazer a seleção de trechos
> específicos de uma string. O problema é o seguinte: Tenho o nome de uma
> fonte de um programa no formato "nome-versão.extensão", onde a extensão
> geralmente é .tar.gz ou .tar.bz2. Vou considerar com VERSION tudo entre
> o "-" após o nome e o "." à frente da extensão. O nome (PACKAGE) já
> possuo, mas quero remover a VERSION e a EXTENSION. Estou fazendo da
> forma abaixo:
>
> PACKAGE="scilab"
>
> SRC="scilab-3.9.7.tar.gz"
>
> EXTENSION=$( echo $SRC | rev | cut -f-2 -d. | rev )
>
> => tar.gz
>
> VERSION=$( T=`echo ${SRC#$PACKAGE-}`; echo ${T%.$EXTENSION} )
> ou
> VERSION=`echo ${SRC#$PACKAGE-}`; VERSION=`echo ${VERSION%.$EXTENSION}`
>
> => 3.9.7
>
> Posso imaginar outras formas de fazer o mesmo, com:
>
> echo $SRC | rev | awk -F. '{ print $1"."$2}' | rev
>
> para a EXTENSION, mas gostaria de conhecer algumas versões da lista.
> Alguém se habilitar?
>
> Até
> Alves
>
>
> _______________________________________________________
> Yahoo! Acesso Grátis - Internet rápida e grátis. Instale
> o discador agora!
> http://br.acesso.yahoo.com
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>