-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fiz o seguinte script em awk. Vê se ajuda:

$ cat script.awk
BEGIN{
        RS=""
        FS="\n"
        OFS="\n"
}

{
        sub(/email/, "email_alternativo", $4)
        print $0"\n"
}

$ awk -f script.awk arquivo_original.txt
Nome: Nair
Sobrenome: Silveira
email: [email protected]
email_alternativo: [email protected]

Nome: Carlos
Sobrenome: Martin
email: [email protected]
email_alternativo: [email protected]

Nome: Lucia
Sobrenome: Andrade
email: [email protected]
email_alternativo: [email protected]

Não consegui manter as linhas em branco em seus lugares originais,
perceba que a primeira linha foi apagada e que uma linha em branco
extra foi adicionada no final da saída. Acredito que o segredo está no
uso adequado da variável ORS, mas não consegui fazer funcionar e ainda
tive que concatenar um \n no final de cada registro para colocar uma
linha em branco entre cada um.

Se alguém mais experiente em awk puder dar uma idéia seria interessante.

Saudações,
- --
Guilherme Magalhães Gall (GMGall)
GPG Public Key ID: 0F498058


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: http://getfiregpg.org

iEYEARECAAYFAklByvoACgkQZV3qXg9JgFjf/ACdFdEM7fIqFm+EoOyRk4drztw7
BqEAnR09iG+fXm/i1DzV7iWnmtu/0Zei
=32AY
-----END PGP SIGNATURE-----

2008/12/11 Molinero <[email protected]>:
> Pessoal,
>
>  Gostaria de uma ajuda de vocês.
>  Preciso fazer um script que leia um arquivo e de 4 em 4 linhas deste
> arquivo e altere uma parte desta linha.
>
> Ex.:
> Arquivo_Original.txt
> === linha em branco ===
> Nome: Nair
> Sobrenome: Silveira
> email: [email protected]
> email: [email protected]
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: [email protected]
> email: [email protected]
> === linha em branco ===
> Nome: Lucia
> Sobrenome: Andrade
> email: [email protected]
> email: [email protected]
>
> Quero alterar o segundo "email" para "email_alternativo", ficando então:
>
> Arquivo_Novo.txt
> === linha em branco ===
> Nome: Nair
> Sobrenome: Silveira
> email: [email protected]
> email_alternativo: [email protected]
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: [email protected]
> email_alternativo: [email protected]
>
> ... e por ai vai.
>
> Quebrei a cabeça e não consegui, por isso peço a ajuda de vcs.
> Agradeço desde já !!!
>
>

Responder a