我在这个有用的线程中仔细研究了答案,但是我的问题似乎相去甚远,以至于我无法想到一个好的答案(至少使用sed
)。
我有一个很大的CSV文件(超过200 GB),其中的行如下所示:
<alphanumerical_identifier>,<number>
在<alphanumerical_identifier>
整个文件中唯一的位置。我想创建一个单独的文件,用索引替换第一列,即
<index>,<number>
这样我们得到:
1, <number>
2, <number>
3, <number>
可以awk
在不将完整文件加载到内存的情况下生成递增索引吗?
由于索引单调增加,因此最好只删除索引。解决方案会有所不同吗,即:
<number>
<number>
<number>
我不确定该解决方案的可行性。但是,如何在一个单独的文件中生成与CSV文件中一样多的数字,然后将CSV文件的第二列附加到该文件呢?
—
Ramesh 2014年
@Ramesh只要输出正确就可以了。
—
阿梅利奥·瓦兹克斯·雷纳
我怀疑我误会了一些东西;否则,
—
G-Man说'Resstate Monica'2014/
awk -F, '{print ++n, $2}'
会起作用。或awk -F, '{print $2}'
第二种变化。
@ G-Man,虽然
—
iruvar
FNR
可能效果和++n
我会三重检查您是否真的可以摆脱该Uniq标识符...为什么不添加带有索引的第一(第三)列,但仍保留该标识符?该标识符不是在其他地方使用的吗?
—
奥利维尔·杜拉克