在unix中将最后一列拆分为两个相等的一半

时间:2018-04-30 19:32:50

标签: shell 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

由于

1 个答案:

答案 0 :(得分:2)

您可以使用此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