个人博客,记录知识防止遗忘
awk与shell的变量传递
awk与shell的变量传递

awk与shell的变量传递

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}}'

image.png
image.png

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}}'

image.png
image.png

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注