2011-10-14 33 views
0

我想在shell脚本中使用dc来更改输入和输出基础。我无法写下确切的命令。我没有BASH。用dc更改shell脚本中的输入库?

我试过这个变化:(输入麻木)2i 10o p | dc

+0

@shellter:bash的相关性如何? –

+0

@shellter:谢谢。无论我的回答如何,[tag:shell]标记都可能适合并足以获得响应(这就是我看到它的原因)。当问题和解决方案同时适用于[tag:tcsh]或[tag:ksh]或[tag:zsh]时,使用[tag:bash]似乎不合适。 –

回答

1

The dc man page使用术语“基数”而不是“基数”;这可能会帮助您搜索信息。

您必须在之前为输入数字设置输入基数。例如:

echo 100 2i p | dc 

打印100(十进制),因为基数仍设置为默认值10(十进制)时dc看到输入值100

试试这个:

echo 16i DEADBEEF 10o p 2o p | dC# but see below 

输出是:

DEADBEEF 
11011110101011011011111011101111 

注意dc似乎需要为十六进制数字A .. F大写。你必须小心基数规格;在完成16i以将输入设置为十六进制后,10i10解释为十六进制数字,并将输入基数设置为16(并且16i尝试将其设置为0x16或22,这是非法的)。

事实上,我看到我自己遇到了这个问题。我的意思是将输出基数设置为16.我应该写入Ao p 2o p而不是10o p 2o p。我会留下来解释这个问题。