首页 > 解决方案 > 在unix中将最后一列分成两半

问题描述

我需要将最后一列拆分为两个单独的列并删除其中的一部分。

目前最后一列中的所有值都有 6 个数字。我需要将它们分成两个单独的列。第一列应该有前三个数字,第二列应该有接下来的三个数字。

我最终想删除新创建的第二列。

Data - 
ID c1 c2 c3  c4  c5
12 A  XY 123 456 657098 

应按如下方式创建新文件 -

Data 2
ID c1 c2 c3  c4  c5
12 A  XY 123 456 657

谢谢

标签: shellunix

解决方案


您可以使用它awk来检查每一行的最后一列的长度:

awk 'length($NF) == 6 { $NF = substr($NF, 1, 3) } 1' file

Data  -
ID    c1  c2  c3   c4   c5
12    A   XY  123  456  657

推荐阅读