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: Aurelio Marinho Jargas
Subject: Re: [shell-script] Inserir linhas em determinada parte do arquivo..
Date: Wed, 2 Jun 2004 09:33:19 -0300 (ART)

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


reply via email to

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