Aqui está uma solução -
#!/bin/bash
grep "^$1 " NYSE.txt NASDAQ.txt | sed 's/:/ /' | awk '{printf "Stock %s ( %s ) - ",$2,$1; for(i=3;i<NF;i++) printf "%s ",$i OFS;if(NF)printf"%s",$NF;printf ORS}'
O primeiro grep pesquisa a linha que começa com o símbolo. O sed substitui o ":" após o nome do arquivo de get output para um espaço em branco. O awk imprime a sentença na ordem que você deseja.