纬度 - 经度组合的唯一 ID

纬度 - 经度组合的唯一 ID

我是 Linux(kubuntu 13)的新手。

我有一个 LibreOffice Calc 表,其中一列为纬度,另一列为经度。我想要做的是,为每个唯一的纬度和经度组合分配一个唯一的数字,并将其放在第三列中。这样,每个由 (Lat/Long) 表示的点都将具有唯一的 ID 号。如何在 bash shell 中执行此操作?

答案1

你没有详细说明,所以我假设你的文件只包含你提到的数据,并且格式一致。我还假设你的文件是用空格分隔的。

因此,输入文件看起来像这样。

1°2'3" 4°5'6"
2°3'4" 5°6'7"

或这个

1.23 4.56
2.34 5.67

在这种情况下,运行此命令

awk '{print $1,$2,$1$2}' /path/to/input.csv > output.csv

这将产生这个

1°2'3" 4°5'6" 1°2'3"4°5'6"
2°3'4" 5°6'7" 2°3'4"5°6'7"

或这个

1.23 4.56 1.234.56
2.34 5.67 2.345.67

如果您的文件可能包含重复项,则可以使用以下命令将其删除。

awk '{print $1,$2,$1$2}' /path/to/input.csv | sort | uniq > output.csv

相关内容