Obrigado pela sugestão.

att,
FH

2012/11/29 <jmhenri...@yahoo.com.br>

> **
> Um jeito bem porco (um pouco didatico, porem} q me vem a mente agora:
>
> echo -e "Animal\tGenotipo"
> awk '{print $1}' entrada.txt | sort -u | grep -v Animal | while read linha
> do
> echo -ne "$linha\t"
> grep "^$linha" entrada.txt | awk '{ print $2 } | perl -pe "s/\n//g"
> echo
> done
>
> Isso deve funcionar (acho, dependendo de como o seu problema pode ser....
> Se a ordem importa, se ele devera manter ou não os genotipos repetidos, se
> somente existem 4 genotipos,
> Etc etc etc.)
> Usei perl e awk, mas você poderia usar cut e sed.
>
> Usando perl puro ou awk puro ou qqr coisa "pura" deve ficar mais elegante.
> Enviado pelo meu aparelho BlackBerry®
> ------------------------------
> *From: * FHRB Toledo <fernandohtol...@gmail.com>
> *Date: *Thu, 29 Nov 2012 21:18:36 -0200
> *To: *DUP<debian-user-portuguese@lists.debian.org>
> *Subject: *dúvida shell
>
> Senhores,
>
> Resolvi esse problema com o programa R, mas queria ter uma idéia de como
> fazer isso no shell...
>
> Segue a problema:
>
> Tenho um arquivo que se chama entrada.txt, com o seguinte formato
>
> Animal      Genotipo
> ab5412      AA
> ab5412      AB
> ab5412      BB
> ab5412      BA
> ab5412      BB
> ab5454      AA
> ab5454      AB
> ab5454      BB
> ab5454      BA
> ab5454      BB
>
> Ao final preciso de um arquivo saída com no formato:
>
> Animal   Genotipo
> ab5412   AAABBBBABB
> ab5454   AAABBBBABB
> ...
>
> Ou seja, preciso capturar a segunda coluna de entrada e concatenar esses
> valores usando a coluna animais como índice!
>
> Não fiz nada ainda que preste, apenas sei que $ cut -f2 entrada.txt
> captura a segunda coluna... E aí, alguma dica?
>
> Caso alguém tenha uma solução que apenas reorganize entrada.txt sem
> concatenar esses valores em uma string só já está ótimo!
>
> Qualquer sugestão é bem vinda!
>
> Att,
> FH
>
>

Reply via email to