如何使用unix上的bash脚本对字符串中的4个数字序列进行重新排序

时间:2016-03-20 23:31:25

标签: bash unix

我有以下脚本:

#!/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

由于某种原因,它吃掉了一些数字和输出:

12.834778, 52.014472, 13.610687, 52.399905
13.610687 52.014472

第二行的预期值是4个数字。

我不明白的是,如果我将4个命令自己粘贴到终端,一切都按预期工作。我需要做些什么才能使它在bash脚本中运行?

1 个答案:

答案 0 :(得分:0)

我发现重现问题的唯一方法是:

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

请删除"回车"在你的文件中,你应该没事。