我有一个工作片段:
grep 0rang3 /tmp/wifiSpot.txt | awk '/0rang3/{flag=1} flag; /Pairwise/{flag=0}' /tmp/wifiSpot.txt
现在代替“ 0rang3”,我希望读取一个变量:
read -rp 'what essid ?' ESSID
如果它是多个单词essid,例如“ Orange Airbox-B59C”,则需要像“ $ {ESSID}”那样包装它,而不是“ $ ESSID”
当我尝试
grep "${ESSID}" /tmp/wifiSpot.txt | awk '/\"${ESSID}\"/{flag=1} flag; /Pairwise/{flag=0}' /tmp/wifiSpot.txt
grep“ $ {ESSID}”->可以,但是
awk'/ \“ $ {ESSID} \” / ...->不起作用
我尝试过:
'/\"\$\{ESSID\}\"/
'/ $ ESSID /
我找不到使它工作的方法
有想法的人吗?提前谢谢。
答案 0 :(得分:0)
grep部分在您的管道链中毫无意义,在awk命令中,您没有读取传递到管道的任何内容。您可以删除它。
您需要的是:
awk -v pat="$ESSID" '$0~pat{flag=1}flag; /Pairwise/{flag=0}' yourFile