我有一个大的逗号分隔文件(6GB),并希望添加一个索引列.我正在寻找Unix类型的解决方案以提高效率.我正在使用Mac.
我有这个:
V1 V2 V3
0.4625 0.9179 0.8384
0.9324 0.2486 0.1114
0.6691 0.7813 0.6705
0.1935 0.3303 0.4336
Run Code Online (Sandbox Code Playgroud)
想得到这个:
ID V1 V2 V3
1 0.4625 0.9179 0.8384
2 0.9324 0.2486 0.1114
3 0.6691 0.7813 0.6705
4 0.1935 0.3303 0.4336
Run Code Online (Sandbox Code Playgroud)
lar*_*sks 12
这可能会奏效:
awk -F'\t' -v OFS='\t' '
NR == 1 {print "ID", $0; next}
{print (NR-1), $0}
' input.csv > output.csv
Run Code Online (Sandbox Code Playgroud)
在awk,NR变量是"到目前为止看到的输入记录的总数",这通常表示"当前行号".所以NR == 1第一行是我们如何匹配第一个记录并添加"ID"列标题,以及我们NR-1用作索引的其余行.
所述-F'\t'参数设置输入字段分隔符,并-vOFS='\t'设置输出字段分隔符.
由于原始帖子中没有指定任何技术,我很乐意在这里保持简单。
(如果您知道自己在做什么,所有花哨Vim/bash解决方案都可以)。

最后一步将用等填充索引列。1,2,3...然后您可以再次将生成的电子表格另存为 CSV 文件。