Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将多个文件中的多个列放入单个文件外壳中_Bash_Shell_Multiple Columns - Fatal编程技术网

Bash 将多个文件中的多个列放入单个文件外壳中

Bash 将多个文件中的多个列放入单个文件外壳中,bash,shell,multiple-columns,Bash,Shell,Multiple Columns,嗨, 我有多个具有多列的文件,我想从每个文件中选择几个不同的列,并使其成为单个文件。我读过这本书 文件1 文件2 文件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

嗨,
我有多个具有多列的文件,我想从每个文件中选择几个不同的列,并使其成为单个文件。我读过这本书

文件1

文件2

文件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]         
[awk'{a\[FNR\]=a\[FNR\]''7}END{for(i=0;i快速实现方法:

 paste file1 file2 file3|awk '{print $1, $2, $6, $10}'
如果希望输出的格式是“漂亮的”,请粘贴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

它解决了你的问题吗?因为你是新来的,如果你的问题已经解决了,请别忘了标记接受的答案。你可以点击答案旁边的复选标记,将答案从空变为绿色。看看你是否有任何疑问!对于一个大约80列的文件,它不起作用,因为它在mos中的值为零单元格的t…我坚持前面的答案“awk”{a[FNR]=a[FNR]“$7}END{for(I=0;I
 paste file1 file2 file3|awk '{print $1, $2, $6, $10}'
Day  present  present  present
Mon  10       18       50
TUE  11       15       51
WED  9        19       49
THU  8        17       48