Search code examples
awksubstr

How to use variable in awk substr


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

I want to get the substring by the usage of variable but I am not getting please help


Solution

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

    Possibly, it is clearer to have two different variable names:

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

    Here, n is a shell variable and m is an awk variable. The -v option is used to assign the awk variable m to have the value of the shell variable n.