bash中特定列的值的等式1 /(x + 1)性能

问题描述 投票:-1回答:1

我有一个很大的CSV文件,其头部如下所示:

ccd_11_0    Gly_GCC_89  2
ccd_11_0    Gly_GCC_87  8
ccd_11_0    Gly_GCC_88  0
ccd_11_1    Gly_GCC_87  1

我想对第三列中的数字执行等式1 /(x + 1)。因此,输出应如下所示:

ccd_11_0    Gly_GCC_89  0.33
ccd_11_0    Gly_GCC_87  0.11
ccd_11_0    Gly_GCC_88  1
ccd_11_1    Gly_GCC_87  0.5
bash csv awk calculator equation
1个回答
2
投票
使用awk:

awk '{$3=1/($3+1)}1' yourfile

这是使用默认字段分隔符将行分成$ 1,$ 2和$ 3列。然后,它只是在进行数学运算以将第三列$3设置为值1/($3+1)。最后,它使用1(简写)打印结果。     
© www.soinside.com 2019 - 2024. All rights reserved.