Przejrzałem odpowiedzi w tym pomocnym wątku , ale mój problem wydaje się na tyle inny, że nie mogę wymyślić dobrej odpowiedzi (przynajmniej z sed
).
Mam duży plik CSV (ponad 200 GB) z wierszami, które wyglądają następująco:
<alphanumerical_identifier>,<number>
gdzie <alphanumerical_identifier>
jest unikalny w całym pliku. Chciałbym utworzyć osobny plik, który zastąpi pierwszą kolumnę indeksem , tj
<index>,<number>
abyśmy otrzymali:
1, <number>
2, <number>
3, <number>
Czy można awk
wygenerować rosnący indeks bez ładowania pełnego pliku do pamięci?
Ponieważ indeks rośnie monotonicznie, może być jeszcze lepiej po prostu go upuścić. Czy rozwiązanie tego byłoby takie inne ?, tj .:
<number>
<number>
<number>
awk -F, '{print ++n, $2}'
działałoby. Lub awk -F, '{print $2}'
dla drugiej odmiany.
FNR
tyle, ale i tak będzie dobrze++n