csvファイル内のある列を別の列に置き換える[重複]

csvファイル内のある列を別の列に置き換える[重複]

次の内容を含むfile1があります。

1,joe,jim,bob,sally,mark,sue,etc,etc
2,julie,barbra,joe,jim,bob,sally,mark,sue,etc,etc
1,clarie,mike,joe,jim,bob,sally,,etc,etc
2,matt,alivia,joe,jim,bob,mark,sue,etc,etc
1,julie,claire,joe,jim,bob,sally,mark,sue,etc,etc
2,sophia,joe,jim,bob,sally,mark,sue,etc,etc

列1が数値順になっていてfile2に書き込まれるように変更したいと思います。

1,joe,jim,bob,sally,mark,sue,etc,etc
2,julie,barbra,joe,jim,bob,sally,mark,sue,etc,etc
3,clarie,mike,joe,jim,bob,sally,,etc,etc
4,matt,alivia,joe,jim,bob,mark,sue,etc,etc
5,julie,claire,joe,jim,bob,sally,mark,sue,etc,etc
6,sophia,joe,jim,bob,sally,mark,sue,etc,etc

私のfile1には100,000を超える行があり、各行には65から90の列があります。

ベストアンサー1

カンマがエスケープされないと仮定する可能な解決策:

awk 'BEGIN { OFS=FS="," } { $1=NR; print }' input.csv > output.csv

おすすめ記事