awk
pode estar mais à altura da tarefa
awk '{sep=$3 in a?",":"";b[$3]++;
a[$3]=a[$3]sep$1}; END{for (k in a) print k, b[k], a[k]}' file
Eu tenho um grande banco de dados com esse formato:
0500506 gi|561108321|ref|NC_018143.2| 71446 0
0500506 gi|561108321|ref|NC_018143.2| 71447 0
0500508 gi|561108321|ref|NC_018143.2| 71449 0
0500509 gi|561108321|ref|NC_018143.2| 71447 0
O que eu quero fazer é criar uma nova tabela com o número de ocorrências de cada uma das terceira coluna, algo como isto
71446 1 0500506
71447 2 0500506,0500509
71449 1 0500508
Importante, as linhas inteiras não combinam, então quero ter certeza de que estou combinando os valores em uma única coluna. Estou assumindo que posso adaptar uma das soluções de Conte o número total de ocorrências usando grep , mas não tenho certeza de como.
Muito obrigado drea