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