我需要修改我的shell语法(如下所示)
cat $dfn | gawk
'{for (i = 1; i <= NF; i += 1)
{printf "%f\t", ((($i / $tag) / $bn ) */ 1000000000);}
printf "\n"}'>fn
其中$dfn
是文件名$tag
,$bn
包含值。并且fn
是输出定向的文件。
注意:此行的作用是,它采用文件名(n乘m维并在每个单元格中包含一个值)将单元格中的每个值除以$tag
变量答案中的值再分为$bn
中的值,最后在执行所有除法运算后,该值乘以10亿。
提前谢谢你。
答案 0 :(得分:3)
变量$tag
和$bn
指的是行中的字段。我假设你真的希望它们是环境变量。将它们作为变量传递给awk:
cat $dfn |
gawk -v tag="$tag" -v bn="$bn" '{
for (i = 1; i <= NF; i += 1) {
printf "%f\t", ((($i / tag) / bn ) * 1000000000)
}
printf "\n"
}'>fn
编辑:同样修复Raghuram指示的乘法。
答案 1 :(得分:1)
我认为您应该将值乘以10亿时将/ *更改为*。