
У меня есть CSV-файл в формате
input.csv
1,AREA,"POLYGON((103.855 1.27267,103.856 1.27316,103.851 1.27506,103.853 1.27941,103.853 1.2793,103.852 1.27879,103.852 1.27639,103.851 1.27624,103.851 1.27634,103.851 1.27661,103.851 1.27699,103.852 1.27985,103.852 1.28138,103.853 1.28188,103.853 1.28189,103.853 1.28058,103.853 1.28044,103.853 1.28048,103.853 1.28084,103.853 1.28206,103.853 1.28216,103.853 1.28205,103.853 1.28205,103.854 1.28196,103.854 1.28209,103.855 1.28141,103.855 1.2813,103.855 1.28086,103.856 1.28001,103.859 1.28528,103.859 1.28555,103.859 1.28556,103.859 1.28586,103.859 1.28587,103.859 1.28629,103.859 1.28662,103.859 1.28669,103.87 1.28157,103.873 1.27787,103.871 1.27586,103.863 1.26996,103.862 1.26924,103.861 1.2689,103.86 1.26869,103.859 1.26884,103.858 1.26921,103.856 1.2702,103.855 1.27088,103.856 1.27227,103.855 1.27253,103.851 1.27428,103.852 1.2739,103.855 1.27267))"
Я хочу удалить третий столбец, который не имеет фиксированного размера. Я пробовал с
cut -d, -f3 --complement input.csv
Но он работает некорректно. Любая помощь приветствуется.
решение1
Инструмент cut
недостаточно умен, чтобы понять, что запятые в третьем столбце не являются разделителями.
Однако вы можете выбрать диапазон столбцов: в этом случае -f1-2
будут выбраны столбцы с 1 по 2, тем самым исключив столбец 3.
Однако для общей обработки CSV вам понадобится более мощный парсер, например, те, что есть в скриптовых языках, таких как Python и Perl.