2013-02-20 95 views
1

我要被检索两个数字作为字符串成变量A和B:各种形式的数字从一个shell脚本比较

A将形式:

“10”或“的0x0A” 或 “0X0A”

换言之,A将是十进制或十六进制数(以0x前缀)。

乙将是以下形式:

“图像-000A” 或 “图像000A”

乙将始终为 “图像 - ”,后跟4个十六进制数字。

我需要比较两个数值并测试B> A。我如何在shell脚本中执行此操作?

回答

2

您可以通过1

[email protected]:~$ t=0x0a 
[email protected]:~$ echo $t 
0x0a 
[email protected]:~$ echo $(($t * 1)) 
10 

转换为十六进制数乘以它只是十进制刮痧从图像的十六进制值是稍微复杂一些,但仍然以同样的方式。

[email protected]:~$ t=image-000a 
[email protected]:~$ echo $t 
image-000a 
[email protected]:~$ echo $((0x${t##image-} * 1)) 
10 

${t##image-}image-$t,留下000a

+0

工程!谢谢。 – Tergiver 2013-02-20 19:00:10