小编典典

awk 不打印换行符

all

我希望在每次迭代中并排打印变量 sum/NR。我们如何避免 awk 在每次迭代中打印换行符?在我的代码中,默认情况下每次迭代都会打印一个换行符

for file in cg_c ep_c is_c tau xhpl
printf "\n $file" >> to-plot.xls
    for f in 2.54 1.60 800 
        awk '{sum+=$3}; END  {print  sum/NR}' ${file}_${f}_v1.xls >> to-plot-p.xls
    done
done

我希望输出看起来像这样

cg_c ans1  ans2  ans3  
ep_c ans1  ans2  ans3 
is_c ans1  ans2  ans3
tau  ans1  ans2  ans3 
xhpl ans1  ans2  ans3

我目前的输出是这样的

**cg_c**
ans1
ans2
ans3
**ep_c**
ans1
ans2
ans3
**is_c**
ans1
ans2
ans3
**tau**
ans1
ans2
ans3
**xhpl**
ans1
ans2
ans3

阅读 182

收藏
2022-06-29

共1个答案

小编典典

awk '{sum+=$3}; END {printf "%f",sum/NR}' ${file}_${f}_v1.xls >> to- plot-p.xls

print默认情况下会插入一个换行符。您不希望这种情况发生,因此请printf改用。

2022-06-29