我的数据输出如下:
ENSG00000133789 11 9554976
ENSG00000131626 11 70272382
ENSG00000020922 11 94324686
ENSG00000102710 13 36925520
...
我想复制第三列并得到它:
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
...
我的列以空格分隔。我该如何进行这项工作?
编辑:
我通过以下方式解决了该问题:
awk -F' ' '{print $0" "$3}' out3 > out4
答案 0 :(得分:4)
通常,要复制最后一列
$ awk '{print $0,$NF}' file
答案 1 :(得分:2)
awk '$4=$3' out3
这是所有必要的吗?请注意,awk
接受来自STDIN的输入,因此从awk
到cat
的管道传输是浪费过程,并且是多余的。 print
是默认的awk
操作,因此为简洁起见,可以将其省略。