![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
お世話になります。
BASHじょうにてPSのRSS合計を算出使用と考え、
例として、以下コマンドを実行しました。
---------------------------
$ ps aux | awk '{sum+=$6;} END{print sum;}'
3113748
---------------------------
合計値が9桁以下等なら良いのですが、
ある程度行くと、例として合計値が以下の様に表示されました。
---------------------------
$ ps aux | awk '{sum+=$6;} END{print sum;}'
5.00383e+09
---------------------------
awkを使用した際の合計値を何とか整数にしたいと考えているのですが
可能なのでしょうか。
恐れ入りますが、知恵をお借り頂けないでしょうか。
よろしくお願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
awk のスクリプトの先頭に BEGIN{OFMT="%d"} を入れるか、
表示の時に print ではなく、printf "%d",sum のように
すれば良いと思います。
OFMT の意味は man awk などで調べてください。
awkが整数値としてどの範囲まで有効かは、ご自分で調べてください。
解答ありがとうございます。
両方とも"%d"なのはなぜだろう。と思ったら、「OFMT」にて指定する内容は
printfでの指定フォーマットなのですね。
提示頂いた両方の方法にて今回行いたかった情報に対し
算出できることを確認しました。
今回は急ぎ、perlにて算出したため、今後の選択しや
他で活用したいと考えます。
> awkが整数値としてどの範囲まで有効か
今まで、桁数を気にするほどの内容は無かったのですが、
「awk」に限らず、常に頭に入れておいたほうが良さそうですね。
ありがとうございました。
No.2
- 回答日時:
追伸。
awkもpsも「bash」ではありません。
ご返答頂きありがとうございます。
> awk の実装はちょっと調べないとわからないですが、まあ、その程度しか用意されていないのでしょう。
> PythonやRuby、Perl+Bignum等を使って、多倍長や無限長の整数で計算するのはどうでしょう。
別のものならある程度簡単に出来るのでしょうか。
> 別解としては、awkで多倍長演算するプログラムにすることです。
awkのみの場合、一工夫しないと駄目そうですね。
含めて調べようと思います。
> 追伸。awkもpsも「bash」ではありません。
確かに組み込みコマンド…では無いですよね。
質問の仕方が悪かったようです。
急いで書いたら、誤変換だらけで、コメントも頂けないかな?と思ったのですが、
助かりました。
頂いたキーワード元にがんばってみます。
No.1
- 回答日時:
awk の実装はちょっと調べないとわからないですが、まあ、その程度しか用意されていないのでしょう。
PythonやRuby、Perl+Bignum等を使って、多倍長や無限長の整数で計算するのはどうでしょう。
別解としては、awkで多倍長演算するプログラムにすることです。
解答ありがとうございます。
取り合えず、今回必要な桁数は「Perl」のみで出来そうです。
※ まったくといってさわったことは無いのですが。
PythonやRubyでの算出方法も今後の課題として試してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- 会計ソフト・業務用ソフト ExcelのSUM関数と+の違い 2 2022/07/12 18:32
- Excel(エクセル) VBA SUM関数を入力したい 6 2022/08/20 20:10
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- フリーソフト OpenOffice 表計算で文字としてコピペ 2 2023/05/31 11:11
- Google Drive スプレッドシートの時間(分、秒)の足し算SUM関数がうまくいきません。 3 2022/09/08 16:39
- Excel(エクセル) A列が指定数値以上になったらD列の計算式を変更 3 2022/07/11 11:03
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
grepで全角文字の行を抽出
-
sed で \\ を含む文字列に置換
-
awk:LinuxとWindows
-
シェルスクリプトでmd5sum
-
awkとsedですが、これが何をし...
-
HP-UXのメモリ搭載量を確認する...
-
grepで検索文字列が完全一致し...
-
フィールドでgrepみたいなこと
-
grepでの抽出箇所のみ置換して...
-
awkのフィールド数制限について...
-
カンマ区切りの列の置換を行い...
-
grep,cutで取得した文字の前後...
-
grepで日付指定してlogを取り出...
-
zshの文字列置換機能
-
Dirコマンドでフォルダ内ファイ...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
-
batである文字列内に特定の文字...
-
bashでシングルクォート内の変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
grepで日付指定してlogを取り出...
-
grepで検索文字列が完全一致し...
-
sed で \\ を含む文字列に置換
-
grepで全角文字の行を抽出
-
【シェルスクリプト】awkの結果...
-
bashでブランク(空白)を検索文...
-
awkのフィールド数制限について...
-
フィールドでgrepみたいなこと
-
grepでの抽出箇所のみ置換して...
-
awkコマンドについて
-
zshの文字列置換機能
-
bashなどのシェル変数の値に改...
-
grepで拡張子がxlsxのファイル...
-
テキスト処理を行うツール
-
テキストファイルの間引き削除...
-
awkを用いて、特定の文字を含む...
-
特定の文字列を含む行だけ削除...
-
行頭と行末に文字追加
-
sedの置換での「|」表記
おすすめ情報