-----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: [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]
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 <[email protected]>:
> 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: [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]
>
> [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: [email protected]
> email_alternativo: [email protected]
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: [email protected]
> email_alternativo: [email protected]
> === linha em branco ===
> Nome: Lucia
> Sobrenome: Andrade
> email: [email protected]
> email_alternativo: [email protected]
>