如何将一行中的元素范围乘以常量

时间:2014-11-20 16:45:24

标签: bash bc

我有一个包含多个列的文件,我希望在一系列行中将这些列的前半部分乘以常量。 例如,如果我只有4列和2行:

 8  2 4 5
 6 12 8 8 

我想要的输出(假设乘法常量为1/2)如下:

4 1 4 5
3 6 8 8

我没有胶水怎么做,我想bc会有所帮助......

1 个答案:

答案 0 :(得分:1)

您可以像这样使用awk以行/列为基础处理文件:

awk -v n=2 '{for (i=1; i<=NF/2; i++) $i/=n} 1' file
4 1 4 5
3 6 8 8