Analisei as respostas neste tópico útil , mas meu problema parece ser diferente o suficiente para que eu não consiga pensar em uma boa resposta (pelo menos com sed
).
Eu tenho um arquivo CSV grande (mais de 200 GB) com linhas parecidas com a seguinte:
<alphanumerical_identifier>,<number>
onde <alphanumerical_identifier>
é único em todo o arquivo. Eu gostaria de criar um arquivo separado que substitua a primeira coluna por um índice , ou seja,
<index>,<number>
para que possamos obter:
1, <number>
2, <number>
3, <number>
Pode awk
gerar um índice crescente sem carregar o arquivo completo na memória?
Como o índice aumenta monotonicamente, pode ser ainda melhor simplesmente descartá-lo. A solução para isso seria tão diferente ?, ou seja:
<number>
<number>
<number>
awk -F, '{print ++n, $2}'
funcionaria. Ou awk -F, '{print $2}'
para a segunda variação.
FNR
sirva tão bem quanto++n