亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
請問十六進制轉(zhuǎn)十進制,有沒有辦法替代strtonum
[打印本頁]
作者:
conall
時間:
2016-07-28 17:09
標(biāo)題:
請問十六進制轉(zhuǎn)十進制,有沒有辦法替代strtonum
十六進制轉(zhuǎn)十進制:
echo '12af' | awk '{print strtonum("0x"$0)}'
4783
但在我的服務(wù)器shell環(huán)境,執(zhí)行結(jié)果為0x12af
請問各位,有沒有辦法替代strtonum?
作者:
reyleon
時間:
2016-07-28 17:30
$ echo $((16#12af))
4783
作者:
conall
時間:
2016-07-28 17:36
回復(fù)
2#
reyleon
whyunwei@hbwossadmin02> echo $((16#12af))
Illegal variable name.
作者:
reyleon
時間:
2016-07-28 17:42
回復(fù)
3#
conall
目測你不是使用的bash shell 了. 用bc命令試試吧
$ echo "obase=10;ibase=16;12AF" | bc
4783
PS:
1. bc 命令可能需要安裝
2. 數(shù)字如果是16禁止, 字母要大寫
作者:
conall
時間:
2016-07-28 17:51
回復(fù)
4#
reyleon
謝謝!兩個都可以,確實與運行環(huán)境有關(guān)。
whyunwei@hbwossadmin02> echo "obase=10;ibase=16;12AF" | bc
4783
whyunwei@hbwossadmin02> bash
whyunwei@hbwossadmin02:~/ydwg/config$ echo $((16#12af))
4783
想請問,下面這種方式,該怎么改?
awk -F";" '{OFS=";";print strtonum("0x"$1)+strtonum("0x"$2)+strtonum("0x"$3)+strtonum("0x"$4)+strtonum("0x"$5)+strtonum("0x"$6)+strtonum("0x"$7)+strtonum("0x"$
}'
作者:
sunzhiguolu
時間:
2016-07-28 18:11
echo '12af'|perl -ne 'printf("%d\n",hex($_))'
復(fù)制代碼
4783
作者:
jason680
時間:
2016-07-29 00:29
回復(fù)
5#
conall
結(jié)果為何?
$ echo '1 c' | awk '{print strtonum("0x"$1)+strtonum("0x"$2)}'
13
作者:
conall
時間:
2016-07-29 08:21
回復(fù)
7#
jason680
whoss@hubei3> echo '1 c' | awk '{print strtonum("0x"$1)+strtonum("0x"$2)}'
00xc
作者:
jason680
時間:
2016-07-29 10:26
回復(fù)
8#
conall
try this way
$ echo '1 c 3' | awk 'BEGIN{t=split("0123456789abcdef",a,"");for(n=1;n<=t;++n)H[a[n]]=n-1}function hex(x, n,t,s){t=length(x);for(n=1;n<=t;++n)s=s*16+H[substr(x,n,1)];return(s)}function
strtonumx
(x){if(sub(/^0x/,"",x))return(hex(x));return(x)}{print strtonumx("0x"$1)+strtonumx("0x"$2)+strtonumx($3)}'
16
作者:
conall
時間:
2016-07-29 11:14
回復(fù)
9#
jason680
whoss@hubei3> cat 2.txt
020;020;020;020;020;020;020;020
020;020;020;020;020;020;020;020
020;020;020;020;020;020;020;020
020;020;020;020;020;020;020;020
020;020;020;020;020;020;020;020
020;020;020;020;020;020;020;020
020;020;020;020;020;020;020;020
100;000;000;;;;;
whoss@hubei3> nawk 'BEGIN{t=split("0123456789abcdef",a,"");for(n=1;n<=t;++n)H[a[n]]=n-1}function hex(x, n,t,s){t=length(x);for(n=1;n<=t;++n)s=s*16+H[substr(x,n,1)];return(s)}function strtonumx(x){if(sub(/^0x/,"",x))return(hex(x));return(x)}{print strtonumx("0x"$1)+strtonumx("0x"$2)+strtonumx($3)}' 2.txt
0
0
0
0
0
0
0
0
作者:
conall
時間:
2016-07-29 11:16
回復(fù)
10#
conall
謝謝,太牛了
whoss@hubei3> nawk -F";" 'BEGIN{t=split("0123456789abcdef",a,"");for(n=1;n<=t;++n)H[a[n]]=n-1}function hex(x, n,t,s){t=length(x);for(n=1;n<=t;++n)s=s*16+H[substr(x,n,1)];return(s)}function strtonumx(x){if(sub(/^0x/,"",x))return(hex(x));return(x)}{print strtonumx("0x"$1)+strtonumx("0x"$2)+strtonumx($3)}' 2.txt
20
20
20
20
20
20
20
0
這個,這個,要好好消化一下
作者:
jason680
時間:
2016-07-29 11:38
本帖最后由 jason680 于 2016-07-29 11:47 編輯
回復(fù)
11#
conall
nawk ??!! ==> OS: solaris
please use /usr/xpg4/bin/awk on solaris OS
$ awk --version
GNU Awk
3.1.8
...
or using
Perl
and easy to do that
$ echo '1 c 3' |
perl
-lane '{print
hex
($F[0])+hex($F[1])+$F[2]}'
16
作者:
expert1
時間:
2016-07-30 11:44
printf函數(shù)有嗎,這個就可以了。
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2