Uma solução rápida para transformar um arquivo separado por espaço que contém "long lat" em WGS84 em UTM33N, mas você não obtém outros dados:
#!/bin/bash
#
for i in $( ls *.csv ); do
gdaltransform -s_srs EPSG:4326 -t_srs EPSG:32633 < ${i} > utm${i}
done
Isso funciona e preserva a ordem dos dados, então talvez outro loop usando, por exemplo, awk para combinar os dados descritivos com as coordenadas?
Editar. Devido aos comentários confusos que fiz abaixo, editarei a resposta aqui.
O script a seguir deve fazer o trabalho de ler vários arquivos csv, adicionando novas colunas de coordenadas a cada arquivo.
#!/bin/bash
#
for i in $( ls *.csv ); do
paste -d',' ${i} <(awk -v OFS="," -F " " 'NR>1 {print $1 " " $2}' ${i} | gdaltransform -s_srs EPSG:4326 -t_srs EPSG:32633 | awk '{gsub(" ",",",$0); print $0}' | /usr/local/bin/sed "1i\X,Y,Z") > utm${i}
#
#paste -d',' ${i} <(awk -v OFS="," -F " " 'NR>1 {print $1 " " $2}' ${i} | gdaltransform -s_srs EPSG:4326 -t_srs EPSG:32633 | awk '{gsub(" ",",",$0); print $0}' |sed "1i\X,Y,Z") > utm${i}
#
done
No OSX, você precisará instalar a versão mais recente do sed (2009) e usar a primeira linha não comentada do loop. Para o Linux, comente o primeiro e use o segundo. Ajuste de -F " "
acordo com o formato do separador nos arquivos csv, por exemplo, -F ","
para separar vírgulas. Observe também que a transformação de elevação é no elipsóide, não no geóide, portanto, certifique-se de transformar as alturas de acordo.