【发布时间】:2020-02-27 04:34:16
【问题描述】:
我想访问和操作 csv 文件的第四列。特别是我想排除不符合特定要求的行(排除没有 3 个字符国家代码的行)。
我的数据集:
Luxembourg,LUX,2017,9294689.12
Aruba,ABW,2017,927865.82
Nepal,NPL,2017,9028196.37
Bangladesh,BGD,2017,88057460.51
Costa Rica,CRI,2017,8695008.05
Chile,CHL,2017,84603249.72
Cook Islands,COK,2017,82045.41
World,OWIDWRL,1755,9361520
India,INDIA,1763,0
Asia and Pacific (other),,2017,5071156099
World,OWID_WRL,1752,9354192
Middle East,,1751,0
International transport,,1751,0
India,IND,1751,0
Europe (other),,1751,0
China,CHN,1751,0
Asia and Pacific (other),,1751,0
Americas (other),,1751,0
Africa,,1751,0
提前致谢。
我已经按年份对数据文件进行了排序, 但我不知道如何访问第 4 列并使用 awk 或 sed。
预期数据集:
Luxembourg,LUX,2017,9294689.12
Aruba,ABW,2017,927865.82
Nepal,NPL,2017,9028196.37
Bangladesh,BGD,2017,88057460.51
Costa Rica,CRI,2017,8695008.05
Chile,CHL,2017,84603249.72
Cook Islands,COK,2017,82045.41
【问题讨论】:
-
国家代码是否也必须是列表中的第二项,还是可以出现在行中的任何位置?
-
能否请您提及您的示例预期输出?以及删除帖子中最后一列的逻辑应该是什么。
-
Country_Code 是 .csv 文件的第二列。我需要第二列中的代码,保持相同的结构更有意义。
-
输出集:Luxembourg,LUX,2017,9294689.12 Aruba,ABW,2017,927865.82 Nepal,NPL,2017,9028196.37 Bangladesh,BGD,2017,88057460.51 Costa Rica,CRI,2017,8695008.0 ,2017,84603249.72 Cook Islands,COK,2017,82045.41
-
@JohnTipotas,但问题仍然存在,删除第 4 列的逻辑是什么,有什么条件请提及它们并让我们知道。
标签: regex linux csv unix data-manipulation