shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Inserir linhas em determinada parte do arquivo..


From: Tiago
Subject: Re: [shell-script] Inserir linhas em determinada parte do arquivo..
Date: Wed, 2 Jun 2004 19:34:39 -0300
User-agent: KMail/1.6.2

Grande Aurélio

Muito obrigado!!!

Funfou bonitinho com o sed

[]'s

Tia

Em Qua 02 Jun 2004 09:33, Aurelio Marinho Jargas escreveu:
oi tiago,

 --- Tiago <address@hidden> escreveu:

> Preciso fazer o seguinte, ler um arquivo, excluindo determina
> linha nele e no lugar dessa linha, adicionar 3...

você pode fazer um loop com o clássico "while read LINHA",
e com um if, você detecta a linha desejada e coloca as outras
três no lugar dela.

mas tem um comando sed que faz isso, o 'c', de change.


  $ seq 5
  1
  2
  3
  4
  5
 
  $ seq 5 | sed -e '/3/c\' -e 'primeira\' -e 'segunda\' -e 'terceira'
  1
  2
  primeira
  segunda
  terceira
  4
  5

a sintaxe é meio esquisita mas funciona. tem que ter os escapes \ 
depois do c, e depois de cada linha nova, menos da última.
o '/3/' do comando é a linha original que vai ser trocada, no
teu caso vai ser algo como:

  sed -e '/minha string velha/c\' -e 'blablabla\' -e 'blablbal'

ou se teu sed for o 3.02.80 ou mais novo, pode colocar os \n
direto na substituição, assim:


   sed '/minha string velha/ s/.*/primeira\nsegunda\nterceira/'

blz?

falou!


=====
-- 
Aurelio Marinho Jargas, Curitiba, Conectiva
Expressoes Regulares no sabado dia 5, no V FISL
txt2tags v2.0 BETA2 http://txt2tags.sf.net/beta
Viciados ER http://aurelio.net/er/livro/galeria

______________________________________________________________________

Participe da pesquisa global sobre o Yahoo! Mail: 
http://br.surveys.yahoo.com/global_mail_survey_br


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 




-- 
Caso tenha alguma dúvida entre em contato.

Ao seu dispor

Tiago Oliveira
Supervisor de Suporte - Brasil
Braslink Network
(11) 3208-0855


reply via email to

[Prev in Thread] Current Thread [Next in Thread]