将 awk 与来自变量的输入结合使用

将 awk 与来自变量的输入结合使用

我需要从文件 LIST.txt 中存储在变量 i 中的特定单词的出现处获取第 n+9 行

下面是命令

Used_pages=`awk '/${i}/{nr[NR+9]}; NR in nr'  LIST.txt`

当我通过将变量 $i 替换为以下值之一来对文件进行测试运行时,它会起作用

 awk '/APPLE/{nr[NR+9]}; NR in nr'  LIST.txt

请帮助我弄清楚如何对变量使用相同的命令。

谢谢

答案1

awk-v设置变量的参数。要$i在 中设置变量awk,您可以说awk -v i=$i,然后在awk语句中,只需将变量引用为i而不是$i

我还没有测试过以下内容,但尝试一下:

used_pages="$(awk -v i=$i '/i/{nr[NR+9]}; NR in nr' LIST.txt)"

相关内容