Você simplesmente deseja adicionar uma coluna com a contagem de colunas. Isso pode ser feito usando awk
:
$ awk -F ',' '{ printf("%d,%s\n", NF, $0) }' data.in
3,Rv0729,Rv0993,Rv1408
4,Rv0162c,Rv0761c,Rv1862,Rv3086
1,Rv2790c
NF
é uma variável awk
que contém o número de campos (colunas) no registro atual (linha). Imprimimos esse número seguido por uma vírgula e o restante da linha, para cada linha.
Uma alternativa (mesmo resultado, mas pode parecer um pouco mais limpa):
$ awk -F ',' 'BEGIN { OFS=FS } { print NF, $0 }' data.in
FS
é o separador de campos que awk
usa para dividir cada registro em campos, e definimos isso para uma vírgula com -F ','
na linha de comando (como na primeira solução). OFS
é o separador de campo output e definimos que seja o mesmo que FS
antes de ler a primeira linha de entrada.