Я переглянув відповіді в цій корисній темі , але моя проблема здається досить різною, що я не можу придумати гарну відповідь (принаймні, з sed
).
У мене великий файл CSV (200+ ГБ) із рядками, які виглядають так:
<alphanumerical_identifier>,<number>
де <alphanumerical_identifier>
є унікальним по всьому файлу. Я хотів би створити окремий файл, який замінює перший стовпець індексом , тобто
<index>,<number>
щоб ми отримали:
1, <number>
2, <number>
3, <number>
Чи можна awk
генерувати зростаючий індекс, не завантажуючи повний файл у пам'ять?
Оскільки індекс зростає монотонно, можливо, ще краще просто знизити індекс. Чи може рішення для цього бути таким іншим?, Тобто:
<number>
<number>
<number>
awk -F, '{print ++n, $2}'
працювало б. Або awk -F, '{print $2}'
для другої варіації.
FNR
би слугувало так само добре++n