我試圖在awk命令中創建一個變量,如下所示,在awk中使用bash變量。但它不工作似乎當內部使用bash變量時,awk命令無法正常工作
b=hi
$ echo "hihello" |awk -v myvar=$b -F"$0~myvar" '{print $2}'
實際產量:
<empty/nothing printed >
預期成果是:
你好
我試圖在awk命令中創建一個變量,如下所示,在awk中使用bash變量。但它不工作似乎當內部使用bash變量時,awk命令無法正常工作
b=hi
$ echo "hihello" |awk -v myvar=$b -F"$0~myvar" '{print $2}'
實際產量:
<empty/nothing printed >
預期成果是:
你好
嘗試以下awk命令。將字段分隔符放在BEGIN塊內。
$ b=hi; echo "hihello" | awk -v myvar=$b 'BEGIN{FS=myvar}{print $2}'
hello
它將myvar變量的值設置爲字段分隔符。因此inturn打印第二列會給你字符串hello
爲什麼你-F包括$ 0〜 –
什麼是'-F「$ 0〜myvar」'? – ghoti
使用:'awk -v myvar = $ b'$ 0〜myvar {print $ 2}'' – anubhava