Usando a expansão de parâmetros :
for f in words/*/*_pct.txt; do
n=${f#*/} # Remove everything till the first slash
n=${n%%_*} # Remove everything from the first underscore to the end
awk -v var="$n" -f script.awk "$f" >> words/results.txt
done
Observe que você precisa citar -v var="$n"
e, se $n
contiver sequências de escape, elas serão expandidas.