小编use*_*696的帖子

从大文件中删除具有重复第一个字段/列的行

我有一个非常大的文件(下面的片段)。我需要删除第一列中的数字没有从上面的行连续增加的任何行。

例如,我想保留代码片段中的第一行,其中第一列中的标识符为“ ” 40812。然后我想保留“ 40813”在第一列中的行(在我的示例中为第 3 行),然后是以“ 40814,”开头的行,依此类推。我想删除任何违反此顺序的行,例如第二行。

我在这里查看了以前的问题/答案以寻找可能的解决方案,但到目前为止还没有成功。出现在几个问题中的一个解决方案是:

awk -F',' ' '!seen[$1]++ myFile
Run Code Online (Sandbox Code Playgroud)

我改编了另一个我看到的解决方案:

sort -t':' -k 1,1 -u myFile
Run Code Online (Sandbox Code Playgroud)

如果有人可以告诉我哪里出错了,我将不胜感激。我对文件操作不是很有经验。

 40812        20406.000000         0.843859468      1083.209050130      -994.562279080      -993.349611938        22.120868921
 40829        20414.500000         0.891283743      1144.084593627      -994.539001565      -993.349739827        21.177788019
 40813        20406.500000         0.829362077      1064.599666089      -994.546948121      -993.348764740        22.087239027
 40830        20415.000000         0.889606427      1141.931529727      -994.537943593      -993.350242614        21.282490969
 40814        20407.000000         0.822524589      1055.822814442      -994.540118434      -993.348757318        22.083606005
 40831        20415.500000         0.875230513      1123.478077086      -994.523844766      -993.350421831        20.606467962
 40815        20407.500000         0.823511602      1057.089780943      -994.541681744      -993.349315083        22.432111979
 40832        20416.000000         0.846150258      1086.149592126      -994.494220141      -993.349798791 …
Run Code Online (Sandbox Code Playgroud)

awk text-processing sort

2
推荐指数
1
解决办法
87
查看次数

标签 统计

awk ×1

sort ×1

text-processing ×1