构建表格 - 附加选定的列

构建表格 - 附加选定的列

我有几个表格(制表符分隔),如下所示:

YEAR MONTH DAY RES 
1971 1     1   1000 
1971 1     2   1542 
....

它们都显示相同的前三列。为了将所有数据分组到一个大表中,我想附加所有表的最后一列。我目前使用paste命令:

paste table1.txt table2.txt > table.txt

但是,我只想附加最后一列。有人知道怎么做吗?

例如table1.txt如下:

1971 1 1 1000
1971 1 2 1541
1971 1 3 1245

table2.txt如下:

1971 1 1 234
1971 1 2 457
1971 1 3 987

并且期望的输出应该是这样的table.txt

1971 1 1 1000 234
1971 1 2 1541 457
1971 1 3 1245 987

答案1

这应该可以打印最后一个字段:

paste table1.txt <(awk '{print $NF}' table2.txt) > table.txt

或者,如果你知道最后一个字段始终是第四个:

paste file1 <(cut -f4 file2) <(cut -f4 file3) 

这将打印的最后一个字段table2.txt并将其作为输入传递给paste。您可以根据需要添加任意数量的文件:

paste file1 <(cut -f4 file2) <(cut -f4 file3) <(cut -f4 file4)  <(cut -f4 fileN) 

相关内容