shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] linhas múltiplas de 4


From: Guilherme Gall
Subject: Re: [shell-script] linhas múltiplas de 4
Date: Fri, 12 Dec 2008 00:15:58 -0200

-----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: address@hidden
email_alternativo: address@hidden

Nome: Carlos
Sobrenome: Martin
email: address@hidden
email_alternativo: address@hidden

Nome: Lucia
Sobrenome: Andrade
email: address@hidden
email_alternativo: address@hidden

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 <address@hidden>:
> 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: address@hidden
> email: address@hidden
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: address@hidden
> email: address@hidden
> === linha em branco ===
> Nome: Lucia
> Sobrenome: Andrade
> email: address@hidden
> email: address@hidden
>
> Quero alterar o segundo "email" para "email_alternativo", ficando então:
>
> Arquivo_Novo.txt
> === linha em branco ===
> Nome: Nair
> Sobrenome: Silveira
> email: address@hidden
> email_alternativo: address@hidden
> === linha em branco ===
> Nome: Carlos
> Sobrenome: Martin
> email: address@hidden
> email_alternativo: address@hidden
>
> ... e por ai vai.
>
> Quebrei a cabeça e não consegui, por isso peço a ajuda de vcs.
> Agradeço desde já !!!
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]