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
Para saber se o arquivo está atualizando ou não raj333 Programação Shell Script e 2 11-05-2007 05:29
Atualizando arquivo em loop braindrain Programação Shell Script e 4 06-20-2007 01:37
Porque não é meu sar actualizar o ficheiro de saída. skneeli UNIX & avançada para usuários experientes 1 11-12-2006 08:29
Atualizando um arquivo em um arquivo Zip dbridle AIX 6 09-27-2006 03:29
enviar e atualizar um arquivo pela rede bhakti Alto Nível de programação 1 09-21-2005 02:10

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 03-24-2008
bisla.yogender bisla.yogender is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 30
Exclamation Sed Ajuda na actualização algo apenas em uma determinada linha.

Oi,

O scenerio é que eu quero substituir um texto em uma linha particular de um arquivo. Mas quando estou a utilizar o sed é substituir todas as ocorrências desse texto.

Como o arquivo é:

> cat teste
DNGGF10: Nenhuma: Ensaio
DNGGF11: ABC: Teste1
DNGGF12: Nenhuma: Teste2
DNGGF13: Nenhuma: Test3


Tenho escrito o seguinte código para isso: --
> gato script
name \u003d $ 1

sed "s /` DNGGF10 grep teste | cut-d ':'-f2 `/ $ 1 /" teste> test.chk



Mas, embora a execução do código como . / script Yogi então estou ficando O / p no test.chk como:

> cat test.chk
DNGGF10: Yogi: Teste
DNGGF11: ABC: Teste1
DNGGF12: jogue: Teste2
DNGGF13: Yogi: Test3


Mas quero replce segundo campo apenas para que a linha que contém DNGGF1O ou seja, o 1. Line.Also espaço total sapce no segundo campo não deve também ficar alterados.

Kindly lançar alguma luz sobre ela.

Agradece -
Yogi

Última edição por bisla.yogender; em 03/24/2008 09:27..
  #2 (permalink)  
Old 03-24-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.294
É isso que você está procurando?

Código:
sed "/DNGGF10/s/None/$1/" test > test.chk
Atenciosamente
  #3 (permalink)  
Old 03-24-2008
bisla.yogender bisla.yogender is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 30
Obrigado, eu tenho a minha dica daqui. Mudei o meu código para:

sed "/ DNGGF10 / s /` DNGGF10 grep teste | cut-d ':'-f2 `/ $ 1 /" teste> test.chk

Agora eu sou capaz de substituir texto paritucular linha, mas apenas que o espaço após Nenhuma ainda estão recebendo alterados que não deveria acontecer.

Linha antes de substituir texto:

DNGGF10: Nenhuma: Ensaio (4 Espaços após Nenhum)

Após executar o script como. / Script abc

DNGGF10: abc: Teste

Enquanto deveria haver cinco espaços depois abc.

Kindly sugerir.

Atenciosamente,
Yogi
  #4 (permalink)  
Old 03-24-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.294
Se você quiser fixar colunas que você pode usar awk:

Código:
awk -v var=$1 '
BEGIN{FS=OFS=":"}
/DNGGF10/{$2=sprintf("%-8s", var)}1
' test > test.chk
Utilize nawk / ou usr/xpg4/bin/awk no Solaris.

Atenciosamente
  #5 (permalink)  
Old 03-24-2008
shamrock shamrock is offline Forum Advisor  
Usuário
  
 

Join Date: Oct 2007
Localização: E.U.A.
Posts: 750
Código:
sed '/DNGGF10/s/\(.*\) \(.*\) \(.*\)/\1 :\1 \3/' test >test.chk
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 07:33.


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