Autor Tópico: duvida com Delimitadores  (Lida 3992 vezes)

Offline Kaue_lima

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
duvida com Delimitadores
« Online: 21 de Maio de 2015, 13:53 »

Gostaria de saber se consigo pegar um delimitador em qualquer posição,exemplo
tenho 1 arquivo com delimitadores e preciso pegar sempre os ultimos depois do delimitador "/",
teste1/teste2
teste2eteste3/teste4
teste5/teste6/eteste7/teste8
teste/teste9

sendo assim,no arquivo final tem que ter a saída :
teste2
teste4
teste8
teste9
não posso pegar com cut , pois as posições são em pontos diferentes para cada,pois se fizer :
cat arquivo.txt | cut -f2 -d "/" ,pegará apenas os tudo que vem na coluna 2,

Como posso fazer isso de forma prática?


Obrigado

Offline Felix

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 3.068
    • Ver perfil
    • Alexsandro Felix
Re: duvida com Delimitadores
« Resposta #1 Online: 21 de Maio de 2015, 14:12 »
Criei aqui um arquivo "teste.txt" exatamente como o seu exemplo e executei o comando:

Código: [Selecionar]
cat teste.txt | tr "/" "\n"

o resultado segue abaixo:
Código: [Selecionar]
$cat teste.txt | tr "/" "\n"
teste1
teste2
teste2eteste3
teste4
teste5
teste6
eteste7
teste8
teste
teste9

Offline Kaue_lima

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: duvida com Delimitadores
« Resposta #2 Online: 21 de Maio de 2015, 14:18 »
Ok,primeiramente obrigado pela resposta,porém preciso trazer apenas o resultado depois do delimitador "/",com o "tr" trago todo o resultado para o novo arquivo.Como poderia proceder?

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: duvida com Delimitadores
« Resposta #3 Online: 21 de Maio de 2015, 22:42 »
Com o awk fica bem simples.

Código: [Selecionar]
awk -F'/' '{print $NF}' arquivo.txt

Ou com sed (qualquer coisa que manipule com expressões regulares), tipo

Código: [Selecionar]
sed 's#^.*/##' arquivo.txt