1 shell —–> awk
只需要在awk中用 -v 定义另一个变量,其值引用shell的变量即可,如下所示.
shell定义变量aaa=123,将其传入awk,用awk筛选出所有小于该值的数字
#!/bin/bash
aaa=123
echo -e "
1234,222,1623,223,3,123,446,123,45,383,2,1234
" |awk -F',' -v bbb="${aaa}" '{for(i=1;i<=NF;i++){if($i <= bbb)print "第"i"个符合,值是 "$i}}'
2 awk ----> shell
因为awk是工作在shell中的,所以awk --->shell传递变量只需要正常输出,进行拼接即可
#!/bin/bash
echo -e "
1234,222,1623,223,3,123,446,123,45,383,2,1234
"| awk -F',' '{for(i=1;i<=NF;i++){if($i <= 123)print "a"i"="$i}}'