Em Sexta 26 Janeiro 2007 08:06, Junior Polegato escreveu: > Marcelo Laia escreveu: > > Socorro!!! > > > > Eu tenho um arquivo delimitado por tab com 13 colunas e 1958 linhas. > > As primeiras 2 colunas trazem informacoes, tipo um ID e um nome. As > > seis colunas seguintes trazem informacoes numericas variadas. As > > ultimas 5 colunas trazem informacao de presença ou ausência. Exemplo: > > > > ID Nome logFC A t P PV B X12 X24 P24 > > P3 P5 > > 12 aaaa -1 3 -1 0 0 1 x > > 45 bbbb 2 4 -2 0 0 1 x > > 45 bbbb 2 4 -2 0 0 1 x > > 45 bbbb 2 4 -2 0 0 1 x > > 45 bbbb 2 4 -2 0 0 1 x > > 56 tttt 0.5 2 -3 0 0 1 x > > 56 tttt 0.5 2 -3 0 0 1 x > > 67 hhhh 0.6 1 0 0 0 1 x > > 67 hhhh 0.6 1 0 0 0 1 x > > 01 eeee 3 5 -3 0 0 1 x > > 03 uuuu 4 6 -4 0 0 1 x > > 98 zzzz 5 7 -5 0 0 1 x > > 98 zzzz 5 7 -5 0 0 1 x > > 98 zzzz 5 7 -5 0 0 1 x > > 98 zzzz 5 7 -5 0 0 1 x > > > > > > Nesse exemplo o individuo "aaaa" somente estapresente no tempo X24. > > Por outro lado, o individuo "bbbb" esta presente em todos os tempos e > > o individuo "tttt" esta presente nos tempos X24 e P5. Nestes caso, eu > > preciso coloca-los em uma unica coluna. Assim sendo, o exemplo acima > > ficaria assim: > > > > ID Nome logFC A t P PV B X12 X24 P24 > > P3 P5 > > 12 aaaa -1 3 -1 0 0 1 x > > 45 bbbb 2 4 -2 0 0 1 x x x x > > 56 tttt 0.5 2 -3 0 0 1 x x > > 67 hhhh 0.6 1 0 0 0 1 x x > > 01 eeee 3 5 -3 0 0 1 x > > 03 uuuu 4 6 -4 0 0 1 x > > 98 zzzz 5 7 -5 0 0 1 x x x x > > > > Voce teria tempo para me ajudar com um script qualquer que fizesse > > isso para mim? Nao sei nada de programacao e estou desesperado, pois > > preciso disso para logo. Sei que todo mundo é muito ocupado, mas, se > > puder ajudar eu fico muito agradecido. Meu arquivo tem 2000 mil > > linhas. Tentei fazer na mao mas nao ta dando. Isso é para a minha > > defesa que ja esta marcada. > > > > Muito obrigado > > Olá, > > O que você quer é agrupar as linhas de tal forma que sejam únicas, é > isso? Se for: > > sort arquivo.txt | uniq > resultado.txt > > Com a observação de que será ordenado por ID, no caso... >
pelo que eu entendi é bem mais que isso. ele, além de querer agrupar, quer dar um "count" nas ocorrencias, e de acordo com o numero de ocorrencias - que pelo exemplo vão variar de 1 até 4, adicionar um ((count * "\tx") -1) na string . um programeco em shell faria isso. Mas to sem tempo. Algo com while, expr, echo... [ ]s, Henry _______________________________________________________ Yahoo! Mail - Sempre a melhor op��o para voc�! Experimente j� e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/

