Ich habe die Antworten in diesem hilfreichen Thread durchgesehen , aber mein Problem scheint so unterschiedlich zu sein, dass mir (zumindest mit sed
) keine gute Antwort einfällt .
Ich habe eine große CSV-Datei (200+ GB) mit Zeilen, die wie folgt aussehen:
<alphanumerical_identifier>,<number>
wo <alphanumerical_identifier>
ist über die gesamte Datei eindeutig. Ich möchte eine separate Datei erstellen, die die erste Spalte durch einen Index ersetzt , d. H.
<index>,<number>
damit wir bekommen:
1, <number>
2, <number>
3, <number>
Kann awk
ein zunehmender Index generiert werden, ohne die gesamte Datei in den Speicher zu laden?
Da der Index monoton ansteigt, ist es möglicherweise noch besser, den Index einfach fallen zu lassen. Wäre die Lösung dafür so anders?, Dh:
<number>
<number>
<number>
awk -F, '{print ++n, $2}'
würde funktionieren. Oder awk -F, '{print $2}'
für die zweite Variante.
FNR
es genauso gut dienen würde wie++n