Как с помощью awk вставить # в строчку 647?
вставить куда ? начало, конец, посередине ?
если в начало, то:
awk -i inplace 'NR==647{print "# "$0}NR!=647' a.txt
где изменения мы пишем(-i inplace) прямо во входящий файл, в строку(NR) 647, добавляя перед всей строкой($0) решетку с пробелом("# "), при желании можно и без пробела("#"). Остальные строки(NR!=647) мы просто печатаем без изменений.