Разделите последний столбец на две равные половины в Unix - PullRequest
0 голосов
/ 30 апреля 2018

Мне нужно разделить последний столбец на два отдельных столбца и удалить его часть.

В настоящее время все значения в последнем столбце имеют 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 голосов
/ 30 апреля 2018

Вы можете использовать этот 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...