Em uma declaração de variável, qualquer coisa (diferente de expansão de parâmetro / comando / aritmética) dentro de "
é tratada literalmente, então quando você faz isso:
var="'foobar'"
$var
será expandido para 'foobar'
, não foobar
.
Então você precisa:
AWK='{if (NR!=1) {print substr($2, 1, length($2)-1)}}'
como você não precisa de pré-expansão por shell, é melhor usar aspas simples para ficar do lado mais seguro. Se você usar aspas duplas, então, por exemplo $2
será expandido antecipadamente pelo shell como expansão de parâmetro, isso é verdadeiro para qualquer outro token que seja especial ao shell.
E não se esqueça de citar $AWK
quando você usá-lo para desativar o operador split + glob:
… | awk "$AWK"