我是 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