Linux三劍客awk命令篇五:引用shell變量的幾種方式
關于awk的原理等基本知識請參考上四篇:
Linux三劍客awk命令篇一之原理及基本命令
Linux三劍客awk命令篇二之命令操作符
Linux三劍客awk命令篇三之内部變量
Linux三劍客awk命令篇四之流程控制語句
編寫shell腳本時,經常會使用到awk程序。
但是有些複雜的邏輯,可能需要在awk中使用在shell中定義的變量,而且awk程序處理之後,産生的中間變量,還需要在shell中繼續處理。
下面我們就來簡單談一下引用shell變量的方式。
方式1、使用awk -v選項
案例:
#!/bin/bash
#在awk中引用shell變量
#auth:odysee
name=odysee
#這裡的$name的目的就是證明在awk中不能直接引用shell變量
awk -v cname=$name 'BEGIN{print cname,$name}'
這裡是通過cname變量間接的接受shell變量$name的值
執行腳本
方式2、使用"'$name'"
注意是"雙引号 單引号 shell變量 單引号 雙引号"的格式
案例:
#!/bin/bash
#在awk中引用shell變量
#auth:odysee
name="odysee"
awk 'BEGIN{print "'$name'"}'
~
執行腳本
方式3:"'"$var"'"
注意是"雙引号 單引号 雙引号 shell變量 雙引号 單引号 雙引号"的格式。
補充:
變量的值中包含空格,為了shell不把空格作為分隔符,則應使用方法3。
案例:
#!/bin/bash
#在awk中引用shell變量
#auth:odysee
name="odysee"
awk 'BEGIN{print "'"$name"'"}'
執行腳本
補充:
關于引用shell中的位置變量
執行腳本
以上三種方式推薦給大家。
下一篇:
Linux三劍客awk命令補充篇,案例分析
歡迎大家給予寶貴的意見或者建議。
歡迎大家補充或者共享一些其他的方法。
感謝支持。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!