从多个文件中获取多个列到单个文件shell中

时间:2015-01-28 12:38:46

标签: bash shell multiple-columns

您好,
      我有多个具有多列的文件,我想从每个文件中选择几个不同的列并将其设置为单个文件。我看过post

文件1

Day   present absent total
Mon    10      1      11 
TUE    11      0      11
WED     9      2      11
THU     8      3      11 
...

file2的

Day   present absent total
Mon    18      3      21 
TUE    15      6      21
WED    19      2      21
THU    17      4      21 
....

文件3

Day   present absent total
Mon    50      1      51 
TUE    51      0      51
WED    49      2      51
THU    48      3      51 
....

将其设为单个文件

Day   present present present
Mon    10      18      50 
TUE    11      15      51
WED     9      19      49
THU     8      17      48
 ....

如何使用shell / bash命令创建它?

[awk '{a\[FNR\] = a\[FNR\]" " $7}END{for(i=0;i<FNR;i++) print a\[i\]}'][2]         

1 个答案:

答案 0 :(得分:1)

快速做到这一点:

 paste file1 file2 file3|awk '{print $1, $2, $6, $10}'

如果您希望输出采用“漂亮”格式,paste 1 2 3|awk -v OFS='\t' '{print...}'或将输出传递给|column -t

输出:

Day  present  present  present
Mon  10       18       50
TUE  11       15       51
WED  9        19       49
THU  8        17       48