Ich arbeite auf einem Mac mit sed, perl, awk, bash ..
Ich habe eine große Textdatei (10 GB) mit 13 Feldern (Spalten) mit TAB
begrenzten Daten. Leider sind einige dieser Zeilen irrelevant TABs
, daher möchte ich die gesamte Zeile löschen, in der wir zusätzliche TABs
und damit ungleiche Felder haben. (Es macht mir nichts aus, die Zeilen in ihrer Gesamtheit zu verwerfen)
Was ich derzeit habe, schreibt die Anzahl der Felder in eine andere Datei.
awk -F'\t' '{print NF}' infile > fieldCount
head fieldCount
13
13
10
13
13
13
14
13
13
13
Ich möchte ein kurzes Skript erstellen, das jede Zeile mit mehr (oder weniger) als 13 richtigen Feldern (aus der Originaldatei) entfernt.
- Geschwindigkeit ist hilfreich, da ich dies für mehrere Dateien tun muss
- es auf einmal zu machen wäre cool
- Ich portiere derzeit die fieldCount-Datei in Python und versuche, sie zeilenweise zu laden.
BEARBEITEN:
vaild (13 Spalten)
a b c d e f g h i j k l m
ungültig (14 Spalten)
a b c d e f g h i j k l m n