2016-03-20 2 views
0

Ich habe das folgende Skript:Wie eine Folge von vier Zahlen in einer Zeichenfolge mit Bash-Skript auf Unix neu zu ordnen

#!/bin/bash 
EXTENT=`ogrinfo -so area.geojson ogrgeojson | grep Extent | sed 's/Extent: //g' | sed 's/(//g' | sed 's/)//g' | sed 's/ - /, /g'` 
echo $EXTENT 
EXTENT=`echo $EXTENT | awk -F ',' '{print $1 " " $4 " " $3 " " $2}'` 
echo $EXTENT 

und aus irgendeinem Grunde isst es einige Zahlen und Ausgang bis:

12.834778, 52.014472, 13.610687, 52.399905 
13.610687 52.014472 

wo in der zweiten Zeile die 4 Zahlen erwartet werden.

Die Sache, die ich nicht verstehe, ist, dass, wenn ich die 4 Befehle selbst an Terminal kopieren alles funktioniert wie erwartet. Was muss ich tun, damit es in einem Bash-Skript funktioniert?

Antwort

0

Der einzige Weg, fand ich Ihr Problem zu reproduzieren, war dies:

$ echo $'12.834778\r, 52.014472\r, 13.610687\r, 52.399905' | 
    awk -F ',' '{print $1 " " $4 " " $3 " " $2}' 
52.014472 13.610687 

Bitte entfernen Sie den „Wagenrücklauf“ in der Datei und Sie sollten in Ordnung sein.

Verwandte Themen