【发布时间】:2017-12-23 19:28:26
【问题描述】:
我在 CSV 文件中有一些工程数据,格式如下:
A1, B1
C2, D2, E2
F3, G3, H3
我需要将此文件转换为以下 CSV 格式:
B1
E2
H3
换句话说,只保留第 3 列的第 2 行及以上;但字段 B1 需要移动/对齐到第 3 列。
换言之,C2、D2、F3 和 G3 被丢弃。
有很多awk、sed、cut 和paste 解决方案用于移动、复制和粘贴整列或整行。但是我没有为这种自定义操作找到任何解决方案。
【问题讨论】:
-
能否请您澄清“仅保留第 3 列的第 2 行及以上”。似乎您只想要每行的最后一个值,对吗?如果是这样,“awk '{print $NF}' 文件名”将执行此操作。这将是stackoverflow.com/questions/17921544/… 的重复
-
小语法:在英语句子中,人称代词(几乎)一直存在。这是因为他们实际上在动词的末尾没有后缀,所以他们必须使用人称代词来完成相同的任务。如果你说“有一些工程数据”,并不是说“我有一些……”,而是“你应该有一些……” .因为这句话看起来好像是祈使句。作为交换,如果你的所有句子中都有“我”,那就不是那么糟糕了。
-
field B1 needs to be shifted/aligned to column 3. In other words, C2, D2, F3 and G3 are discarded.print the last column of each line的说法多么奇怪。如果这不是您的意思,请编辑您的问题以澄清。