1. ホーム
  2. scripting

[解決済み] 改行を表示しないようにする

2022-04-23 22:38:51

質問

変数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

解決方法は?

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

print はデフォルトで改行が挿入されます。そのようなことが起こらないようにするために printf の代わりに