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

Seguindo a mesma idéia, só com builtins do bash:

$ cat script.sh
#/bin/bash

FLAG=0
while read LINHA; do
        if [[ $LINHA =~ '^email' && $FLAG -eq 1 ]]; then
                echo ${LINHA/email/email_alternativo}
                FLAG=0
        elif [[ $LINHA =~ '^email' ]]; then
                echo $LINHA
                FLAG=1
        else
                echo $LINHA
        fi
done < arquivo_original.txt

$ ./script.sh

Nome: Nair
Sobrenome: Silveira
email: nsilve...@dom.com
email_alternativo: nsilve...@hotmail.com

Nome: Carlos
Sobrenome: Martin
email: carlos.mar...@dom.com
email_alternativo: cmarti...@walla.net

Nome: Lucia
Sobrenome: Andrade
email: luc...@dom.com
email_alternativo: luci...@hotmail.com

Essa solução manteve a estrutura do arquivo original e é interessante
por não usar nenhum comando externo.

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


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

iEYEARECAAYFAklEOEcACgkQZV3qXg9JgFiAogCfYp/zLPjRVFLL24CzfonPJTjY
d7oAoJ2rvr94I/O8phLv31zQp8cHXHZ+
=0pzF
-----END PGP SIGNATURE-----

2008/12/12 miranda <mira...@prodemge.gov.br>:
> Considerando que não existe a string email no e-mail do
> usuário , caso contrário é necessária uma pequena modificação
>
>  cat texto
> === linha em branco ===
> Nome: Nair
> Sobrenome: Silveira
> email: nsilve...@dom.com
> email: nsilve...@hotmail.com
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: carlos.mar...@dom.com
> email: cmarti...@walla.net
> === linha em branco ===
> Nome: Lucia
> Sobrenome: Andrade
> email: luc...@dom.com
> email: luci...@hotmail.com
>
> [mira...@guitar ~]$ cat awk.cmd
> BEGIN{FLAG=1;}
> $0 !~ /email/ {print}
> $0 ~ /email/ && FLAG == 1 {print;FLAG=0;next}
> $0 ~ /email/ && FLAG == 0 {sub("email",
> "email_alternativo");print;FLAG=1}
>
> [mira...@guitar ~]$ awk -f awk.cmd texto
> === linha em branco ===
> Nome: Nair
> Sobrenome: Silveira
> email: nsilve...@dom.com
> email_alternativo: nsilve...@hotmail.com
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: carlos.mar...@dom.com
> email_alternativo: cmarti...@walla.net
> === linha em branco ===
> Nome: Lucia
> Sobrenome: Andrade
> email: luc...@dom.com
> email_alternativo: luci...@hotmail.com
>

Responder a