[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] selecionar parte final de uma linha após delimitador
From: |
Flavio Junior |
Subject: |
Re: [shell-script] selecionar parte final de uma linha após delimitador |
Date: |
Sun, 17 Feb 2008 14:43:37 -0200 |
[root@gandalf root]# cat x
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
[root@gandalf root]# sed 's#.*/##' x
14_02_2008_15_44.avi
03_01_2008_21_18.avi
[root@gandalf 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 address@hidden <address@hidden>:
>
>
>
>
>
>
> 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
>
> outra linha de exemplo seria
>
> 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
> 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
>
>
Re: [shell-script] selecionar parte final de uma linha após delimitador, Flavio Junior, 2008/02/17
Re: [shell-script] selecionar parte final de uma linha após delimitador, Reinaldo de Carvalho, 2008/02/17