
No.4ベストアンサー
- 回答日時:
bashをご使用と判断して
res=$(( $str + 1 ))
ではなく、
res=$(( str + 1 ))
だと思います。
> exprもやってみたのですが、処理が遅くなるので使いません。
興味があって以下のシェルで検証してみました。
#!/bin/bash
str=1
i=0
echo 'Using $((str + 1))'
date '+%H:%M:%S.%N'
while [ $i -lt 10000 ]
do
str=$(( str + 1))
i=`expr $i + 1`
done
date '+%H:%M:%S.%N'
exit
$ ./test.sh
Using $((str + 1))
09:18:46.290418000
09:18:56.929345000
これをexprに書き換えたところ
$ ./test2.sh
Using expr
09:19:00.302748000
09:19:19.259990000
exprだと19秒ですが、$(( 演算 )) だと10秒程度なので、演算が多くなれば確かにexprは不利ですね。
No.2
- 回答日時:
> exprもやってみたのですが、処理が遅くなるので使いません。
> 他の方法ないですか?
expr では処理が遅くなるとのことですが、いったいどのような重い処理をされているのでしょう?
シェルに算術演算の機能はありませんので、シェルスクリプトで算術演算を行う場合はどうしても外部コマンドを呼び出すしか方法がありません。
また、処理速度が問題になるのでしたら、より高速な処理が可能な言語(例えば Perlなど)で書き換えた方が簡単に実現可能かもしれません。
あるいは、処理方法(アルゴリズム)自体を見直すとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) test([)コマンドによる条件判定 2 2022/08/10 12:28
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指定時間にプリントアウトする方法
-
ExcelのVBAで、選択したファイ...
-
Timer_Tickについて
-
VBA フォルダ内の全てブックの...
-
VBAの3次方程式にたいする質問
-
EXCEL VBAで思ったよ...
-
マクロの解読に困っています
-
ストアドプロシージャの処理終...
-
VBAでBook読み込み時の非表示方...
-
AVIFileInitに関して
-
ERRORHandlerへの処理の移行
-
UWSCのTHREADについて
-
vb2010 Sleepを使うと調子が悪...
-
処理水問題についてスライドを...
-
RaiseEventのメリット
-
access2010 マクロで...
-
Timerイベントについて
-
ドリブン??
-
Javaについての質問なんですが…
-
強制終了するマクロプログラム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
vbaのエラー対応(実行時エラー...
-
private subモジュールを他のモ...
-
マクロで、次のコードへ行く前...
-
シグナル 6(SIGABRT)とは?
-
特定の名前のオートシェイプの...
-
IF文に時間(何時から何時ま...
-
どう増強すべきか
-
特定のファイルを他のプロセス...
-
Word VBA。各マクロの間に待ち...
-
どうやってもFor文を抜けてしま...
-
Excel VBA セルの名前があるか...
-
ExcelのVBAで、選択したファイ...
-
【C#】Page_Loadさせない方法に...
-
StatusStripの表示が更新されな...
-
途中で処理を中断させたい (ア...
-
エクセル VBAで複数セル選択時...
-
Functionで戻り値を複数返す方法
-
VBAでBook読み込み時の非表示方...
-
VBA 複数の行を高速で削除する...
おすすめ情報