-1
我想使用變量而不是#0 #i,以便awk命令運行不同的變量,但它不能在下面的代碼中工作。任何一個幫助?在bash中循環不工作我的腳本
#!/bin/bash
for ((i=0;i<2;i++))
do
awk '/VM #0 has been allocated to the host/ {print $0}' p_iqr.txt
done
我想使用變量而不是#0 #i,以便awk命令運行不同的變量,但它不能在下面的代碼中工作。任何一個幫助?在bash中循環不工作我的腳本
#!/bin/bash
for ((i=0;i<2;i++))
do
awk '/VM #0 has been allocated to the host/ {print $0}' p_iqr.txt
done
使用-v
選項awk
設置一個變量。然後通過連接變量構造正則表達式
for ((i=0;i<2;i++))
do
awk -v i=$i '$0 ~ "VM #" i " has been allocated to the host" {print}' p_iqr.txt
done
非常感謝你的腳本正在工作:) – amar
什麼不起作用?你在哪裏使用變量? – Barmar
如果我使用#$ i而不是#0 for循環不運行 – amar
變量不會在單引號內部擴展,那麼爲什麼您會期望這種方式有效? – Barmar