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
Correspondência padrão problema em Perl Ganapati Programação Shell Script e 11 10-15-2008 03:17
Pattern Matching problema em UNIX maxmave Programação Shell Script e 2 06-03-2008 01:19
correspondência padrão problema namishtiwari Programação Shell Script e 2 05-23-2008 07:33
problema com CASO correspondência padrão gummysweets Programação Shell Script e 2 03-18-2008 11:30
correspondência padrão problema rédea Programação Shell Script e 8 10-26-2007 11:44

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 04-21-2009
lassimanji lassimanji is offline
Usuário
  
 

Join Date: Apr 2009
Lugares: 58
problema usando sed de correspondência padrão

se é abc.sh
192.168.1.41

então a saída que eu tenho é v5c01

meu código é
sed «s/192.168.1.4/v5c0/g
s/192.168.1.41/acc1/g 'abc.sh 2> & 1 | tee abc.sh

Quero encontrar 192.168.1.4 e substituí-la com v5c0
e encontrar 192.168.1.41 e substituí-la com acc1

e eu queria fazê-lo utilizando sed
  #2 (permalink)  
Old 04-21-2009
TonyFullerMalv's Avatar
TonyFullerMalv TonyFullerMalv is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2008
Local: Malvern, Worcs. Reino Unido
Lugares: 730
Quase lá:
Código:
rm abc.sh.$$ 2>/dev/null
sed -e 's/192.168.1.4/v5c0/g' -e 's/192.168.1.41/acc1/g' abc.sh > abc.sh.$$ && \
cp abc.sh.$$ abc.sh && \
rm abc.sh.$$
  #3 (permalink)  
Old 04-21-2009
lassimanji lassimanji is offline
Usuário
  
 

Join Date: Apr 2009
Lugares: 58
sed 's / "^ 192.168.1.4 $' / v5c0 / g
s/192.168.1.41/acc1/g 'abc.sh 2> & 1 | tee abc.sh

ele funciona com o presente
  #4 (permalink)  
Old 04-22-2009
lassimanji lassimanji is offline
Usuário
  
 

Join Date: Apr 2009
Lugares: 58
você pode explicar o que o código faz .. mina parecia estar a trabalhar ontem, mas eu vejo o mesmo problema com ele hoje de novo
  #5 (permalink)  
Old 04-22-2009
TonyFullerMalv's Avatar
TonyFullerMalv TonyFullerMalv is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2008
Local: Malvern, Worcs. Reino Unido
Lugares: 730
O script remove o arquivo temporário que vamos usar, garantindo que não é um link simbólico apontando noutros, a da sed linha faz:
para cada linha em abc.sh olha para
192.168.1.4 e substitui-lo com v5c0 porém 192.168.1.4 muitas vezes ocorre em cada linha, sem o "g" apenas a primeira ocorrência em cada linha ficava substituído, e: sed olha para 192.168.1.41 e substitui e substitui-lo com acc1 porém muitas vezes é repetido em cada linha,
a saída sed é colocado em um arquivo temporário, porque o texto normal processamento comandos não pode escrever de volta para o arquivo que está lendo a partir de corromper sem elas, o ficheiro temporário é abc.sh. com o PID do script adicionado no fim de torná-lo único, o ">" significa que, se já existia abc.sh. $ $ vai chegar sobregravada, se o sed não falha (o & & teste), então o próximo comando é executado, que é copiar o arquivo temporário de volta ao original, copiar o arquivo temporário em vez de movimento que preserva as permissões de abc.sh, se a cópia for concluída com sucesso, em seguida, a suspensão temporária ficheiro é eliminado.
  #6 (permalink)  
Old 04-22-2009
lassimanji lassimanji is offline
Usuário
  
 

Join Date: Apr 2009
Lugares: 58
obrigado pela explicação detalhada
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 01:11.


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