Agradeço imensamente aos colegas Flávio Júnior, Otávio Fernandes
e Mop pela solução do problema.

A solução sugerida pelo Flávio funcionou 100 %,  e a explicação
do funcionamento do comando foi  tão  importante quanto a
solução.

Valeu mesmo pessoal. Espero um dia atingir o nível de vcs e poder retribuir
à comunidade.

Grande abraço.

Emmanuel Abdala
Anápolis - Go

Flavio Junior wrote:
>
> [EMAIL PROTECTED] root]# cat x
> http://www.site.com.br/controle/interno/14_02_2008_15_44.avi 
> <http://www.site.com.br/controle/interno/14_02_2008_15_44.avi>
> http://www.site.com.br/controle/interno/patio/deposito/03_01_2008_21_18.avi 
> <http://www.site.com.br/controle/interno/patio/deposito/03_01_2008_21_18.avi>
> [EMAIL PROTECTED] root]# sed 's#.*/##' x
> 14_02_2008_15_44.avi
> 03_01_2008_21_18.avi
> [EMAIL PROTECTED] root]#
>
> Ou seja:
>
> Substitua TUDO até a "/" por nada:
>
> s = substituir
> # = deliimitador de "substituir o que # pelo o que #"
>
> Como o * é "guloso", o TUDO até a / chega na ultima barra. E resolve
> tue problema...
>
> pra entender melhor o sed, faça exemplos com o echo:
>
> echo teste | sed 's#e#U#'
> tUste
>
> o simbolo delimitador pode ser qualquer um.. o mais comum é a /, mas
> como ela era parte da tua string, eu preferi usar outro...
>
> echo teste | sed 's/e/U/g'
> tUstU
>
> veja o "g" no final, que diz "Substitua TODAS ocorrencias, e não so a 
> primeira"
>
> --
>
> Flavio do Carmo Junior
>
> 2008/2/17 [EMAIL PROTECTED] <mailto:shell-script%40abdala.org> 
> <[EMAIL PROTECTED] <mailto:shell-script%40abdala.org>>:
> >
> >
> >
> >
> >
> >
> > Olá pessoal,
> >
> > Sou inicante no shell, e estou precisando de uma pequena ajuda dos 
> colegas.
> >
> > Preciso separar a última parte de uma linha.
> > Tipo, uma linha de exemplo seria:
> >
> > http://www.site.com.br/controle/interno/14_02_2008_15_44.avi 
> <http://www.site.com.br/controle/interno/14_02_2008_15_44.avi>
> >
> > outra linha de exemplo seria
> >
> > 
> http://www.site.com.br/controle/interno/patio/deposito/03_01_2008_21_18.avi 
> <http://www.site.com.br/controle/interno/patio/deposito/03_01_2008_21_18.avi>
> >
> > (o nome do arquivo varia sempre, e
> > quantidade de delimitadores "/" também, o que não varia nunca
> > é que o campo de interesse é sempre a parte final, ou seja, tudo depois
> > do último "/" ).
> >
> > Inicialmente, tentei usar o cut, com o seguinte comando:
> >
> > NOME=http://www.site.com.br/controle/interno/arquivo.avi 
> <http://www.site.com.br/controle/interno/arquivo.avi>
> > echo $NOME | cut -f6 -d/
> >
> > mas como a quantidade de delimitadores "/" pode variar, o cut não
> > funcionaria corretamente,
> > já que o cut conta partindo do início da linha.
> >
> > Se eu tivesse como usar o cut ao contrário, ou seja, contando do final
> > da linha
> > até o início, seria bem simples, pq o meu campo de interesse é,
> > obrigatóriamente, sempre o último.
> >
> > Agradeço muito mesmo, qualquer ajuda ou dica.
> >
> > Obrigado
> >
> > Emmanuel Abadala
> > Anápolis - Go
> >
> >
>
>  

Responder a