bit_rshift() {
refer_value=$1
offset=$2
result=`echo $refer_value | awk -v bits=$offset '{print rshift($0,bits)}'`
echo $result
}
http://www.cppblog.com/prayer/archive/2010/08/26/124860.html
2、3没有成功
1.利用shell cmdline的特性
A=123
awk '/^'"$A"'/ { print $2 }'
上面的cmdline中,shell把'/^'"$A"'/ { print $2 }'作为awk的第一个参数,这个'/^'"$A"'/ { print $2 }'可以分为3小块
(1)'/^':因为/^被单引号引起来,所以shell传这个小部分给awk时候,传的是:/^
(2)"$A":因为$A是被双引号引起,所以shell传这个小部分给awk时候,先把$A,做给“变量替换”,所以传的是:123
(3)'/ { print $2 }':因为/ { print $2 }被单引起来,所以传的是:/ { print $2 }
这3个小部分做为一个参数传给awk,合计3个小部分,那么传的就是
/^123/ { print $2 }
2.使用-v参数
A=123
awk -v B="$A" '/^B/ { print $2 }'
3.pass variable settings into awk as "fake file names"
awk '/^B/ { print $2 }' B="$A"