【发布时间】:2018-05-01 23:27:37
【问题描述】:
全部
我有三个这样的文件:file1 file2 file3,它们的行数和列数相同。每个文件包含 72 列(前两列相同,第 (2n+1) 列也相同),like
文件1
20170101 1 1 1 2 2 3 3...
20170101 2 1 2 2 4 3 4...
20170101 3 1 5 2 3 3 6 ...
文件2
20170101 1 1 0 2 1 3 3...
20170101 2 1 2 2 4 3 2...
20170101 3 1 3 2 4 3 1 ..
文件3
20170101 1 1 2 2 3 3 0...
20170101 2 1 1 2 4 3 2...
20170101 3 1 4 2 4 3 0 ..
从第 4 列开始,我想每隔一列相乘,例如 col4,col6 ,col8,col10... 输出应该是
20170101 1 1 0 2 6 3 0...
20170101 2 1 4 2 64 3 16...
20170101 3 1 60 2 48 3 0 ..
我试过了,但是从 col4 开始的所有列都会相乘。
paste file1 file2 file3| awk '{ for(i=3;i<=NF/2; i++) printf("%4.2E ", $i*$(i+NF/2)*$(i+NF))); printf("\n"); }'
感谢您的帮助。
【问题讨论】:
-
给新手的建议:如果一个答案解决了您的问题,请点击旁边的大复选标记 (✓) 接受它,也可以选择投票(投票至少需要 15 声望)点)。如果您发现其他答案有帮助,请给他们投票。接受和投票有助于未来的读者。请看【相关帮助中心文章】[1] [1]:stackoverflow.com/help/someone-answers
标签: awk