Одиночные кавычки не имеют особого значения в ожидании. Вместо этого используйте фигурные скобки для того же эффекта:
spawn awk -v n="perferx" {$0 ~ n {print substr($3,10,5)}} /usr/local/bin/c
# .......................^..............................^
Ссылка: Правила синтаксиса Tcl, # 6
Подстановка символов между фигурными скобками не производится.
Кроме того, не видя, что вы делаете с выводом, возможно, вам не нужно spawn
set output [exec awk -v n="perferx" {$0 ~ n {print substr($3,10,5)}} /usr/local/bin/c]
Теперь вы можете сделать простую строку парсинг на $ output