A sintaxe apropriada para gravar a saída de arquivos processados em novos arquivos com _s adicionado à parte do nome do arquivo antes da extensão seria:
for i in *.xyz; do awk -F" " '{printf $1 $2 $3}' $i > ${i%\.*}_s.xyz ; done
a parte ${i%\.*} retira a sequência $i da última ocorrência de . até o final, removendo efetivamente a extensão.
No seu exemplo, você poderia usar ${i%\.xyz} , mas isso seria menos universal.