我有几个表格(制表符分隔),如下所示:
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)