C shell对大数进行算术运算

C shell对大数进行算术运算,shell,unix,csh,Shell,Unix,Csh,首先:很抱歉使用c shell,怪我的公司不是我。我和你们大多数人一样讨厌这该死的事情(起初我想,嘿,这没那么糟糕) 我试图从时间戳中减去大量的数字。以下是我正在尝试的: set curTime = `date +%s%N` #... some stuff @curTime = `date +%s%N` - $curTime #get the diff echo "time taken: $curTime" 然而,我猜数字太大了——在我尝试用几秒钟就成功之前。以下是我在日志中看到的内容: @c

首先:很抱歉使用c shell,怪我的公司不是我。我和你们大多数人一样讨厌这该死的事情(起初我想,嘿,这没那么糟糕)

我试图从时间戳中减去大量的数字。以下是我正在尝试的:

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做了完全相同的事情,这很好,所以我假设这与数字的巨大有关

我该怎么做?非常感谢

本文有一小段“在shell脚本中使用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
变量后的数字):

附言:我希望我能两次投票支持你们“我和你们大多数人一样讨厌这该死的东西(起初我觉得,这还不错)。”
这篇文章有一小段“在shell脚本中使用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
变量后的数字):


附言:我希望我能两次投票支持你的
“我和你们大多数人一样讨厌这该死的东西(起初我觉得,嘿,这没那么糟糕)。”

这篇文章有一小段“在shell脚本中使用bc”。谢谢。我可以在修改命令方面得到一些帮助吗?我试过
@curMilli=13499962797995000-1349996279170458000 | bc
,但没有成功;我也尝试过在表达式的各个部分用括号()括起来,但没有用。我想你需要一个分号<代码>回声“1349996279792995000-1349996279170458000;”|bc给出了
622537000
。太棒了!如果我把这些横线标记括起来,``它似乎在变量赋值中起作用。继续发帖并回答以获得认可,Brother的文章有一小段“在shell脚本中使用bc”。谢谢。我可以在修改命令方面得到一些帮助吗?我试过
@curMilli=13499962797995000-1349996279170458000 | bc
,但没有成功;我也尝试过在表达式的各个部分用括号()括起来,但没有用。我想你需要一个分号<代码>回声“1349996279792995000-1349996279170458000;”|bc给出了
622537000
。太棒了!如果我把这些横线标记括起来,``它似乎在变量赋值中起作用。请继续发帖并回答,以获得bro的认可