[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Inserir um texto ante da linha N
From: |
phribbr |
Subject: |
Re: Inserir um texto ante da linha N |
Date: |
Mon, 21 May 2007 13:58:37 -0000 |
User-agent: |
eGroups-EW/0.82 |
Ola,
Se vc tiver um pouco mais de tempo,
acho que tambem da pra fazer com o vi
#!/bin/bash
p=$1
t=$2
vi arq.txt <<END
:/$p
O
$t <esc>
:wq
END
# :/$p -> procura a palavra
# O -> entra no modo de edicao na linha acima
# $t <esc>-> escreve a palavra e entra com o ESC(ctrl+[)
# :wq -> salva
Valeu!
Paulo Henrique
--- Em address@hidden, "trans548" <trans548@...> escreveu
>
> Ola, pessoal
>
> Estou tentando fazer um script que insira um texto - uma ou mais
> linha- antes da palavra padrao em um arquivo txt.
>
> Direto no console eu faço assim: sed -i '/padrao>/{h;s/.*/Texto
> adicionado/;p;x;}' arquivo.txt
>
> Funciona, porem quando tento montar um script para automatizar nao dá
> certo, acredito que seja devido ao fato de que no final de todas as
> palavras padrao ter o sinal de maior '>'.
>
> Entao eu preciso de uma variavel faça uma busque no arquivo.txt a
> palavra padrao, e outra variavel que pegue o texto que vou digitar e
> insira-o antes da palavara padrao>
>
> tipo:
>
> #! /bin/bash
>
> p=$1 #palavra a procurar
> t=$2 # texto a inserir no arquivo.txt
>
> l= grep $p
>
> sed -i '/$l/{h;s/.*/$t/;p;x;}' arquivo.txt
>
> Desde ja agradeço a juda.
>