-----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: 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 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 <cybercro...@gmail.com>: > 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: 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 > > Quero alterar o segundo "email" para "email_alternativo", ficando então: > > Arquivo_Novo.txt > === 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 > > ... e por ai vai. > > Quebrei a cabeça e não consegui, por isso peço a ajuda de vcs. > Agradeço desde já !!! > >