The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-21-2008
phreezr phreezr is offline
Usuário
  
 

Join Date: Oct 2008
Lugares: 11
Question Outra questão sed

Olá, eu sou muito novo para shell script e tem um caminho como:
/ usr/dev/blah/Arch/release/812-1235-P05/files/list e quero saída:

812-1235-P05

Acho que utilizam sed com uma regex similares [0-9] - [0-9] - [0-9]? [az] seria o caminho a percorrer, mas estou tendo muita dificuldade para ele trabalhar. Alguma sugestão? Obrigado.
  #2 (permalink)  
Old 10-21-2008
wempy's Avatar
wempy wempy is offline
Usuário
  
 

Join Date: Jun 2006
Localização: Harpenden, Reino Unido
Lugares: 208
você precisa adicionar algumas quantificadores e limitadores de lá

Código:
sed 's/.*\([0-9]\{3\}-[0-9]\{4\}-[0-9A-Z]\{3\}\).*/\1/'

que vai buscar qualquer coisa seguido de \ (exatamente 3 dígitos seguido por um -, seguidos de exatamente 4 dígitos, seguido de um - seguido por uma combinação de 3 letras e / ou dígitos \) seguido por nada, e substituí-lo com toda a parte acima em \ (.. \)

Última edição por wempy; em 10/21/2008 11:38.. Motivo: para maior clareza
  #3 (permalink)  
Old 10-21-2008
phreezr phreezr is offline
Usuário
  
 

Join Date: Oct 2008
Lugares: 11
Muito obrigado pela sua resposta. Parece que ele deve trabalhar, estou a tubagem
/ usr/dev/blah/Arch/release/812-1235-P05/files/list que é a partir de uma anterior grep comando em sed assim como
Código:
grep command_to_get_path | sed 's/.*\([0-9]\{3\}-[0-9]\{4\}-[0-9A-Z]\{3\}\).*/\1/'

e ele só mostra todo o caminho novamente, ele não tira tudo em torno do 812-1235-P05. Estou fazendo algo completamente errado? Devo ser.

Obrigado novamente!
  #4 (permalink)  
Old 10-21-2008
wempy's Avatar
wempy wempy is offline
Usuário
  
 

Join Date: Jun 2006
Localização: Harpenden, Reino Unido
Lugares: 208
Isso é estranho, se eu tubo que string diretamente em sed em minha máquina eu recebo o resultado exigido. Você pode executar o grep sem a sed e nos mostra exatamente o resultado do grep (incluindo todos os espaços e 'estranho' chars).

meu sed Versão:

Chris @ druida: ~ $ sed - version
GNU sed Versão 4.1.5

Última edição por wempy; em 10/21/2008 11:57.. Motivo: acrescentado sed versão
  #5 (permalink)  
Old 10-21-2008
phreezr phreezr is offline
Usuário
  
 

Join Date: Oct 2008
Lugares: 11
Entendi, o meu caminho também tem uma hora no final do mesmo e eu não anexe-o com aspas e que utilizou alguns <> 's Newbie errado eu acho. Agradecemos muito a todos a vossa ajuda ... certamente fez o meu dia mais fácil.
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 11:34.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0