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.