/.../ suporta apenas constantes Regex. Para passar uma variável, você precisa usar aspas:
% echo 'abcabcabc' | awk '{ i=2; sub("(abc){"i"}","XXX"); print }'
XXXabc
-
O padrão Regex antes da variável é colocado entre aspas,
"(abc){"i -
Em seguida, a variável
ié usada -
O padrão após a variável é novamente colocado entre aspas