Ho esaminato le risposte in questo thread utile , ma il mio problema sembra essere abbastanza diverso da non riuscire a pensare a una buona risposta (almeno con sed
).
Ho un file CSV di grandi dimensioni (oltre 200 GB) con righe simili alle seguenti:
<alphanumerical_identifier>,<number>
dove <alphanumerical_identifier>
è univoco in tutto il file. Vorrei creare un file separato che sostituisca la prima colonna con un indice , ad es
<index>,<number>
in modo che otteniamo:
1, <number>
2, <number>
3, <number>
È possibile awk
generare un indice crescente senza caricare l'intero file in memoria?
Poiché l'indice aumenta monotonicamente, potrebbe essere ancora meglio abbandonare l'indice. La soluzione sarebbe così diversa ?, ovvero:
<number>
<number>
<number>
awk -F, '{print ++n, $2}'
funzionerebbe. O awk -F, '{print $2}'
per la seconda variante.
FNR
servirebbe altrettanto bene++n