- 論壇徽章:
- 0
|
nawk不支持位算嗎? 有能人請幫忙回答下這個帖子吧,有積分哦,謝謝!
http://72891.cn/thread-3675665-1-1.html
gawk實現(xiàn)如下,請求nawk應該如何實現(xiàn)- #!/bin/bash
- hash_pjw()
- {
- echo "$1" | [color=Navy][b]gawk [/b][/color]'BEGIN{}
- function ord(c)
- {
- for( i=0;i<256;i++ ) {
- ch = sprintf("%c",i);
- assii[ch] = i;
- }
- return assii[c]
- }
- {
- str=$0
- for(j=1;j<=length(str);j++){
- temp = ord( substr(str,j,1) )
- hash = ( lshift(hash,4) + temp*13 )
- g = and(hash,0xf0000000)
- #print temp,hash,g
- if(g){
- hash = xor(hash,rshift(g,24))
- hash = xor(hash,g)
- }
- }
- print hash
- }'
- }
- hash_pjw $1
復制代碼 |
|