Как дублировать столбец? - PullRequest
0 голосов
/ 23 января 2019

У меня есть данные out3, выглядящие так:

ENSG00000133789 11 9554976
ENSG00000131626 11 70272382
ENSG00000020922 11 94324686
ENSG00000102710 13 36925520
...

Я хотел бы дублировать 3-й столбец и получить это:

ENSG00000133789 11 9554976 9554976
ENSG00000131626 11 70272382 70272382
ENSG00000020922 11 94324686 94324686
ENSG00000102710 13 36925520 36925520
...

Я пытался сделать это:

cat out3 | awk '{ $3=$4; print; }'

но я получил:

ENSG00000133789 11 
ENSG00000131626 11 
ENSG00000020922 11 
ENSG00000102710 13 
...

Мои столбцы разделены пробелом. Как мне сделать эту работу?

EDIT:

Я решил это через:

awk -F' ' '{print $0" "$3}' out3 > out4

Ответы [ 2 ]

0 голосов
/ 23 января 2019

в общем, чтобы дублировать последний столбец

$ awk '{print $0,$NF}' file
0 голосов
/ 23 января 2019
awk '$4=$3' out3

Это все, что нужно. Обратите внимание, что awk принимает свой ввод от STDIN и, следовательно, передача в awk из cat является расточительным процессом и излишним. print является действием по умолчанию awk, поэтому для краткости его можно опустить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...