[英]awk command not working as expected when bash variable is used inside
我試圖通過在awk命令中創建變量來在awk中使用bash變量,如下所示。 但似乎不起作用
b=hi
$ echo "hihello" |awk -v myvar=$b -F"$0~myvar" '{print $2}'
實際輸出為:
<empty / nothing printed >
預期輸出為:
你好
您為什么不這樣做:
b=hi ; echo "hihello" | awk -F"$b" '{print $2}'
hello
請嘗試以下awk命令。 將字段分隔符放在BEGIN塊中。
$ b=hi; echo "hihello" | awk -v myvar=$b 'BEGIN{FS=myvar}{print $2}'
hello
它將myvar變量的值設置為Field Separator。 因此,反過來打印第二列將為您提供字符串hello
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.