如何复制一列?

ani*_*kaM 0 bash awk sed

我有一个看起来像这样的数据 out3:

ENSG00000133789 11 9554976
ENSG00000131626 11 70272382
ENSG00000020922 11 94324686
ENSG00000102710 13 36925520
...
Run Code Online (Sandbox Code Playgroud)

我想复制第三列并得到这个:

ENSG00000133789 11 9554976 9554976
ENSG00000131626 11 70272382 70272382
ENSG00000020922 11 94324686 94324686
ENSG00000102710 13 36925520 36925520
...
Run Code Online (Sandbox Code Playgroud)

我尝试这样做:

cat out3 | awk '{ $3=$4; print; }'
Run Code Online (Sandbox Code Playgroud)

但我得到了:

ENSG00000133789 11 
ENSG00000131626 11 
ENSG00000020922 11 
ENSG00000102710 13 
...
Run Code Online (Sandbox Code Playgroud)

我的列是空格分隔的。我如何使这项工作?

编辑:

我通过以下方式解决了它:

awk -F' ' '{print $0" "$3}' out3 > out4
Run Code Online (Sandbox Code Playgroud)

kar*_*kfa 5

一般来说,复制最后一列

$ awk '{print $0,$NF}' file
Run Code Online (Sandbox Code Playgroud)