Eu tive que executar o dos2unix em todos os infiles e tudo funcionou bem depois disso.
Eu tenho isso
-77.199997 23.6343749630 39.9989584580
-80.000000 23.6364583430 39.9989584580
-81.599998 23.6385417220 39.9989584580
Eu quero reorganizar as colunas para que ele leia a coluna 2, coluna 3, coluna 1 (lat, long, elevation)
Eu tenho usado o awk muitas vezes antes, mas por alguma razão quando reordenando as colunas, ele sai assim, com um espaço extra
32.1614584410 43.3385414490
-2019.400024
32.1635418210 43.3385414490
-2016.800049
32.1656252000 43.3385414490
-2018.500000
Eu tenho muitos mais, mas alguém poderia me dizer por que está fazendo isso ou estou faltando alguma coisa
awk -F" " '{print " "$2" "$3" "$1" "}' infile.xyz > outfile.xyz
awk '{print $2 $3 $1}' infile.xyz > outfile.xyz
awk -F" " '{print ""$2" "$3" "$1""}' infile.xyz > outfile.xyz
Primeiro, certifique-se de estar usando espaços e não as guias no arquivo de entrada.
Em seguida, tente separar as variáveis por vírgulas, assim:
awk '{print $2,$3,$1}' infile.xyz > output.xyz
Se você colocar as variáveis lado a lado, como em $2 $3 $1
, awk
as concatena.
Além disso, você pode querer experimentar a função printf
, pois ela fornece melhores recursos de formatação.