【shell】awk引用外部变量
在使用awk的过程中,经常会需要引用外部变量,但是awk需要使用单引号将print包起来,导致print后的$引用无效,可以采用下面的方式
例如:
#!/bin/bash a="line1 line2 line3" for ((i=1;i<=3;i++)) do echo $a | awk '{print $i}' done
上面这个脚本运行的时候,会输出三次line1 line2 line3,而不是我们想要的每次输出一列。原因是$i没有被替换成$1,$2,$3.解决方案如下
#!/bin/bash a="line1 line2 line3" for ((i=1;i<=3;i++)) do echo $a | awk '{print $"'$i'"}' done
这样,脚本就会逐列进行输出了。
原创作者:郑立赛
邮箱:zhenglisai@qq.com
欢迎关注我们的公众号获取最新文章:运维自动化开发
![公众号](https://images.cnblogs.com/cnblogs_com/zhenglisai/1973124/o_210510084927search.jpg)
![公众号](https://images.cnblogs.com/cnblogs_com/zhenglisai/1973124/o_210510084934wechat.jpg)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步