The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

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.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Use curingas em um script emferrari Programação Shell Script e 13 03-07-2008 04:14
comodines NÃO C3000 UNIX para Dummies Perguntas & Respostas 5 11-21-2007 07:19
ls com comodines benu302000 UNIX para Dummies Perguntas & Respostas 10 06-29-2005 01:53
curingas benu302000 UNIX para Dummies Perguntas & Respostas 3 06-29-2005 12:10
Wildcards na VI peter.herlihy UNIX para Dummies Perguntas & Respostas 8 01-08-2002 04:27

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 09-27-2006
HealthyGuy HealthyGuy is offline
Usuário
  
 

Join Date: Sep 2006
Posts: 8
Wildcards na SED

Oi Folks

Quick um não posso parecem descobrir ..

Preciso substituir uma seqüência, como "A partir daqui ..... até aqui".

Gostaria de pensar o comando seria algo parecido com:
sed 's / * A partir daqui até aqui / novo texto / g' ou
sed 's / A partir daqui \ * para aqui / novo texto / g'

Mas não é trabalhar para mim.

Thanks in advance
  #2 (permalink)  
Old 09-27-2006
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderador
  
 

Join Date: Feb 2005
Localização: Boston, MA
Mensagens: 5.122
Código:
echo 'aksjfhd from here fooo asdlfkjaslkfjd to here aslfjdlaksjdf' | sed 's/from here.*to here/OVER THERE/'
  #3 (permalink)  
Old 09-27-2006
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398
* em expressão regular irá corresponder um número (ou nenhuma) de um único carácter que precede imediatamente

Código:
sed 's/From here*to here/new text/g'
Esta expressão regular * A partir daqui até aqui irá corresponder
De herto aqui
Da decisão aqui
De hereeto aqui
...

\ Normalmente, desligar o significado especial dos seguintes caracteres

Código:
sed 's/From here\*to here/new text/g'
Esta expressão regular A partir daqui \ * para aqui irá corresponder
* A partir daqui até aqui

tente este

Código:
sed 's/From here.*to here/new text/g'
  #4 (permalink)  
Old 09-27-2006
Corona688 Corona688 is offline
Usuário
  
 

Join Date: Aug 2005
Localização: Saskatchewan
Mensagens: 1.934
Você pode querer utilizar o '-r' opção para dizer sed estendido para usar expressões regulares. Básico sed regexes são bastante limitadas.

Em segundo lugar, as expressões regulares de modo diferente no trabalho sed do que fazer em uma shell. * Não significa nada por si só, é um modificador para algo mais. Primeiro você diz que é expressão que pretende corresponder, então opcionalmente, quantos deles você deseja corresponder. Uma expressão pode ser uma única letra, um conjunto de cartas, ou algo em colchetes.
  • A por si só, apenas corresponde a letra A, como você esperaria.
  • [ABC] por si só, apenas corresponde a letra A, B ou C.
  • A * diz-lhe para combinar um 0 ou mais caracteres.
  • [ABC] * diz-lhe para combinar 0 ou mais caracteres entre A, B, C.
  • [AZ] * diz-lhe para combinar 0 ou mais caracteres entre A, B, C, ..., Z.
  • [^ A] * diz-lhe para combinar 0 ou mais caracteres que não são A.
  • (ABC) * diz-lhe para combinar 0 ou mais repititions de "ABC".

* Não é o único modificador:
  • A + diz-lhe para combinar 1 ou mais Uma caracteres.
  • A? diz-lhe para combinar 0 ou 1 Uma caracteres.
  • A (4) informa-o para corresponder exactamente 4 Uma caracteres.
  #5 (permalink)  
Old 09-27-2006
aigles's Avatar
aigles aigles is offline Forum Advisor  
Usuário
  
 

Join Date: Apr 2004
Location: Bordeaux, França
Mensagens: 1.420
O -r opção não está disponível em todos os sabores do Unix.
AIX sed não suportar esta opção.

Jean-Pierre.
  #6 (permalink)  
Old 09-27-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Posts: 2.532
Alternativa, sem expressão regular

Código:
#!/usr/bin/python
string = "some text in front From here in the middle to here at the end"
fromindex = string.index("From here")
toindex = string.index("to here")
tobeReplace = string[ fromindex : toindex + len("to here") ]
string.replace( tobeReplace , "new text")
Saída:
Código:
'some text in front new test at the end'
Closed Thread

Marcadores

Tags
regex, expressões regulares

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 04:00.


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