[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