for bash循环不适用于我的脚本

时间:2016-12-24 00:04:44

标签: bash shell awk

我想使用变量而不是#0 #i,以便awk命令针对不同的变量运行但是它在下面的代码中不起作用。任何一个帮助?

#!/bin/bash

for ((i=0;i<2;i++))
do
    awk '/VM #0 has been allocated to the host/ {print $0}' p_iqr.txt
done

1 个答案:

答案 0 :(得分:1)

使用-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