如何在 awk substr 中使用变量

How to use variable in awk substr

n=4; echo "abcd" awk '{print substr($0,$n,1);}'

我想通过变量的使用获取子字符串,但我没有得到,请帮助

$ n=4; echo "abcd" | awk -v n="$n" '{print substr([=10=],n,1);}'
d

可能,有两个不同的变量名更清楚:

$ n=4; echo "abcd" | awk -v m="$n" '{print substr([=11=],m,1);}'
d

这里,n是一个shell变量,m是一个awk变量. -v 选项用于分配 awk 变量 m 以具有 shell 的值变量 n.