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

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

Re: [shell-script] SED: Inserir linhas entre dois paterns.


From: Rodrigo Tenorio
Subject: Re: [shell-script] SED: Inserir linhas entre dois paterns.
Date: Mon, 13 Oct 2014 12:03:59 -0300

Vocês são bons.

Agora que eu vi os awk's e o script me deu uma dor de corno...
Do tipo: "£$%, porque não pensei nisso antes?"

Principalmente pelo script que me facilitaria inclusive na legibilidade do código...

Quando eu voltar nele eu ajeito.
:D

Obrigado!

Em 13 de outubro de 2014 10:54, Ronaldo Ferreira de Lima address@hidden [shell-script] <address@hidden> escreveu:
 

On Mon, Oct 13, 2014 at 04:11:30AM -0700, address@hidden [shell-script] wrote:
> Senhores,
> Aproveitando que a questão já foi resolvida e me deleitando na sopinha de
> letras que o sed proporciona gostaria de deixar minha contribuição, mas em awk,
> para um mero comparativo ( ou contraponto):
> awk '{if(/AAA/ && noprint!=1) {print; getline; if(/EEE/){printf
> "BBB\nCCC\nDDD\n"; print; noprint=1} else print } else print}' teste
Seria possível também, armazenar a linha anterior numa variável para
testá-la junto com a linha atual:

$ awk '{if(pl=="AAA"&&noprint==0&&/^EEE$/){print "BBB\nCCC\nDDD\n"$0;noprint=1}else print}{pl=$0}' teste

Creio que esta seja a forma mais simples para se resolver utilizando
puro shell-script também:

while IFS=$'\n' read line; do
if [[ $pl == 'AAA' && $noprint -eq 0 ]]; then
echo -e "BBB\nCCC\nDDD"
noprint=1
fi
echo $line
pl=$line
done < testeComErro

> []'s
> Itamar

--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
http://tecnoveneno.blogspot.com



reply via email to

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