Я новичок в использовании Linux (kubuntu 13).
У меня есть таблица LibreOffice Calc, содержащая один столбец с широтой и один с долготой. Я хочу, чтобы для каждой уникальной комбинации широты и долготы был назначен уникальный номер в третьем столбце. При этом каждая точка, представленная (широта / долгота), будет иметь уникальный идентификационный номер. Как бы я сделал это в оболочке bash?
Вы не были очень конкретны в деталях, таким образом, я предположу, что Ваш файл содержит только данные, которые Вы упомянули, и форматирование последовательно. Я также предположу, что Ваш файл является разграниченным пробелом.
Следовательно, входной файл выглядит примерно так.
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