• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Linux(BASH)上での数値定数)

Linux(BASH)上での数値定数について

このQ&Aのポイント
  • BASH上でのPSのRSS合計値の算出方法について教えてください。
  • 合計値が9桁以上の場合、awkを使用して整数に変換する方法があるのでしょうか。
  • お知恵をお借りできれば幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • geshon
  • ベストアンサー率61% (44/72)
回答No.3

awk のスクリプトの先頭に BEGIN{OFMT="%d"} を入れるか、 表示の時に print ではなく、printf "%d",sum のように すれば良いと思います。 OFMT の意味は man awk などで調べてください。 awkが整数値としてどの範囲まで有効かは、ご自分で調べてください。

un-G
質問者

お礼

解答ありがとうございます。 両方とも"%d"なのはなぜだろう。と思ったら、「OFMT」にて指定する内容は printfでの指定フォーマットなのですね。 提示頂いた両方の方法にて今回行いたかった情報に対し 算出できることを確認しました。 今回は急ぎ、perlにて算出したため、今後の選択しや 他で活用したいと考えます。 > awkが整数値としてどの範囲まで有効か 今まで、桁数を気にするほどの内容は無かったのですが、 「awk」に限らず、常に頭に入れておいたほうが良さそうですね。 ありがとうございました。

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

追伸。 awkもpsも「bash」ではありません。

un-G
質問者

お礼

ご返答頂きありがとうございます。 > awk の実装はちょっと調べないとわからないですが、まあ、その程度しか用意されていないのでしょう。 > PythonやRuby、Perl+Bignum等を使って、多倍長や無限長の整数で計算するのはどうでしょう。 別のものならある程度簡単に出来るのでしょうか。 > 別解としては、awkで多倍長演算するプログラムにすることです。 awkのみの場合、一工夫しないと駄目そうですね。 含めて調べようと思います。 > 追伸。awkもpsも「bash」ではありません。 確かに組み込みコマンド…では無いですよね。 質問の仕方が悪かったようです。 急いで書いたら、誤変換だらけで、コメントも頂けないかな?と思ったのですが、 助かりました。 頂いたキーワード元にがんばってみます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

awk の実装はちょっと調べないとわからないですが、まあ、その程度しか用意されていないのでしょう。 PythonやRuby、Perl+Bignum等を使って、多倍長や無限長の整数で計算するのはどうでしょう。 別解としては、awkで多倍長演算するプログラムにすることです。

un-G
質問者

お礼

解答ありがとうございます。 取り合えず、今回必要な桁数は「Perl」のみで出来そうです。 ※ まったくといってさわったことは無いのですが。 PythonやRubyでの算出方法も今後の課題として試してみたいと思います。 ありがとうございました。

関連するQ&A