1

まず第一に、cシェルを使用して申し訳ありません。私ではなく、私の会社のせいにしてください。私はあなたのほとんどが今しているのと同じくらい気の毒なことを嫌います(最初は私はそうだった、ちょっとこれはそれほど悪くはない)。

タイムスタンプから得られた大きな数を引き算しようとしています。これが私が試していることです:

set curTime = `date +%s%N`
#... some stuff
@curTime = `date +%s%N` - $curTime #get the diff
echo "time taken: $curTime"

しかし、数字が大きすぎると思います-ほんの数秒で試してみる前に、うまくいきました。ログに表示される内容は次のとおりです。

@curMilli = 1349996279792995000 - 1349996279170458000
@curMilli: Command not found.

私が言ったように、私はまったく同じことをします、date +%sそしてそれは大丈夫です、それで私はそれが数の大きさについての何かであると思います。

これどうやってするの?どうもありがとう。

4

1 に答える 1

1

記事http://en.wikipedia.org/wiki/Bc_programming_languageには、「シェルスクリプトでのbcの使用」という短いセクションがあります。テスト:

set curTime = `/bin/date +%s%N`
/bin/sleep 2
set prevTime = $curTime
set curTime = `/bin/date +%s%N`
set diff = `echo "$curTime - $prevTime;" | /usr/bin/bc`
echo $diff

(初期20変数の後の数字で)与えるでしょう:

2016204108

追伸:私はあなたに2回投票できたらいいのにと思います"I hate the damn thing as much as most of you do now (at first I was like, hey this ain't so bad)."

于 2012-10-12T15:33:35.273 に答える