Saya telah memeriksa jawaban di utas bermanfaat ini , tetapi masalah saya tampaknya cukup berbeda sehingga saya tidak bisa memikirkan jawaban yang baik (setidaknya dengan sed
).
Saya memiliki file CSV besar (200+ GB) dengan baris yang terlihat seperti berikut:
<alphanumerical_identifier>,<number>
di mana <alphanumerical_identifier>
unik di seluruh file. Saya ingin membuat file terpisah yang menggantikan kolom pertama dengan indeks , yaitu
<index>,<number>
sehingga kita dapatkan:
1, <number>
2, <number>
3, <number>
Dapatkah awk
menghasilkan indeks yang meningkat tanpa memuat file lengkap dalam memori?
Karena indeks meningkat secara monoton, mungkin lebih baik jika hanya menjatuhkan indeks. Akankah solusi untuk itu berbeda ?, yaitu:
<number>
<number>
<number>
awk -F, '{print ++n, $2}'
akan berhasil. Atau awk -F, '{print $2}'
untuk variasi kedua.
FNR
akan berfungsi sebaik++n