簡體   English   中英

在內部使用bash變量時,awk命令無法按預期工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM