[root@thzzc1994 ~]# awk ‘BEGIN {print ‘$oldboy‘}‘
123
[root@thzzc1994 ~]# awk ‘BEGIN {print "‘$oldboy‘"}‘
123
使用awk时,情况刚好相反,单引号、双+单解析变量,双引号原样输出。什么都不加输出为空。
总结:若想原样输出就用双引号,解析变量就用双+单(‘xxx‘")
老男孩为了方便,一般都不直接用awk了,而是采用管道的方法,先echo变量再让管道通过$0传参。
[root@thzzc1994 ~]# oldboy=123
[root@thzzc1994 ~]# echo $oldboy |awk ‘{print $0}‘
123
[root@thzzc1994 ~]# echo ‘$oldboy‘ |awk ‘{print $0}‘
$oldboy
[root@thzzc1994 ~]# echo "$oldboy" |awk ‘{print $0}‘
123
sed和grep都和之前的结论是符合的,就awk古怪些。awk真的是一门语言啊!
原文地址:http://blog.51cto.com/10249069/2113222