Bashで内容を1行読む

Bashで内容を1行読む

内容はこの順序でスペースで区切られたファイルがあります。

  4096 1230 4560 1024.... n

各番号をどのように読み、他のコマンドに渡すことができますか?つまり、各数字を1024で割ることです。

ベストアンサー1

表示された場合最も簡単な方法はread配列に入れることです。

bash-4.1$ read -a l < file

その後、次の値を繰り返すことができます。

bash-4.1$ for n in "${l[@]}"; do echo "$n / 1024 ≈ $((n/1024)) = $(bc -l<<<"$n/1024")"; done
4096 / 1024 ≈ 4 = 4.00000000000000000000
1230 / 1024 ≈ 1 = 1.20117187500000000000
4560 / 1024 ≈ 4 = 4.45312500000000000000
1024 / 1024 ≈ 1 = 1.00000000000000000000

おすすめ記事