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 [email protected], "trans548" <[EMAIL PROTECTED]> 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. >
