
Ich habe eine CSV-Datei in der Form
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))"
Ich möchte die dritte Spalte entfernen, deren Größe nicht festgelegt ist. Ich habe es mit dem
cut -d, -f3 --complement input.csv
Aber es funktioniert nicht richtig. Jede Hilfe ist willkommen.
Antwort1
Das cut
Tool ist nicht intelligent genug, um zu erkennen, dass die Kommas in der dritten Spalte keine Trennzeichen sind.
Sie können jedoch einen Spaltenbereich auswählen: In diesem Fall -f1-2
werden die Spalten 1 bis 2 ausgewählt und Spalte 3 ausgeschlossen.
Für die allgemeine CSV-Verarbeitung benötigen Sie jedoch einen leistungsfähigeren Parser, wie er beispielsweise in Skriptsprachen wie Python und Perl zu finden ist.