bash - 如何复制列?

标签 bash awk sed

我有一个如下所示的数据 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 
...

我的列是用空格分隔的。我该如何进行这项工作?

编辑:

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

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

最佳答案

一般来说,复制最后一列

$ awk '{print $0,$NF}' file

关于bash - 如何复制列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54332387/

相关文章:

linux - 如何在 Linux 中处理动态增长的大文件

bash - sed 无法将大写字母转换为小写字母

linux - 在 Bash 中识别接收到的信号名称

bash - 如何显示 bash 支持的所有颜色?

linux - 需要在 wsdl - grep/awk/sed 上匹配确切的句子

shell - 如果 awk 中的语句没有按预期工作

bash - Vim on git bash on window(MINGW64) 自动在提交消息上换行

linux - 我的 init.d 服务无法识别

linux - 将列表转换为双引号逗号分隔的字符串

linux - 文件上的 sed 等同于变量