SHELL : 将shell变量传递给awk
2014-01-03 09:05
459 查看
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"
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"
相关文章推荐
- 如何在shell脚本里传递一个变量给awk
- awk/sed与shell变量的传递
- AWK调用SHELL,并将变量传递给SHELL
- awk与shell之间的变量互相传递方法
- 在SHELL中如何传递shell变量给awk
- AWK与SHELL之间的变量传递方法
- shell文本过滤编程(七):awk之变量传递
- awk与shell之间的变量传递方法
- 如何向awk中传递shell变量参数
- awk与shell参数传递(或说变量传递)二三点
- shell变量传递给sed,awk,grep简单方法
- shell & awk 变量传递+awk综合概要
- awk与shell参数传递(或说变量传递)二三点
- awk与shell之间的变量传递方法
- [转]Awk基础入门之三:shell & awk 变量传递
- 向awk传递shell变量的两种方法
- shell & awk 变量传递
- linux入门之awk和shell变量传递
- 变量在shell脚本间的传递
- 如何在shell脚本文件中获取awk的值, 存于变量中?