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: Ronaldo Ferreira de Lima
Subject: Re: [shell-script] SED: Inserir linhas entre dois paterns.
Date: Mon, 13 Oct 2014 10:54:32 -0300
User-agent: mutt-ng/devel-r804 (Linux)

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]