【发布时间】:2014-11-20 16:45:24
【问题描述】:
我有一个包含几列的文件,我想将这些列的前半部分元素乘以一个常数。 例如,如果我只有 4 列和 2 行:
8 2 4 5
6 12 8 8
我想要的输出(假设乘法常数是1/2)如下:
4 1 4 5
3 6 8 8
我没有胶水怎么做,我想bc会有所帮助...
【问题讨论】:
我有一个包含几列的文件,我想将这些列的前半部分元素乘以一个常数。 例如,如果我只有 4 列和 2 行:
8 2 4 5
6 12 8 8
我想要的输出(假设乘法常数是1/2)如下:
4 1 4 5
3 6 8 8
我没有胶水怎么做,我想bc会有所帮助...
【问题讨论】:
您可以像这样使用awk 在行/列的基础上处理您的文件:
awk -v n=2 '{for (i=1; i<=NF/2; i++) $i/=n} 1' file
4 1 4 5
3 6 8 8
【讨论】: