Ich habe nicht viel allgemeine Ratschläge. Insbesondere empfehle ich Ihnen, diesen awk-Befehl zu verwenden:
awk '{ over=0 for (i=1; i<=NF; i++) if ($i > 199) over=1 if (over) print }'
Ich habe eine kleine Datendatei erstellt, die auf Zahlen aus Ihrer Datei basiert, und einige davon habe ich selbst zusammengestellt:
$ cat input 81 23 40 31 0 416 12 2 2 1 157 41 80 201 417 42 17 $ ./myscript input 31 0 416 12 157 41 80 201 417 42 17
Um Zeilen aus Ihrer Datei zu löschen, tun Sie
$ ./myscript input > input.new $ mv input.new input
Anmerkungen:
- Sie sollten selbst entscheiden, ob Ihre Anforderung> 199,> 200, ≥ 200 oder was ist.
- Wenn Sie Zeile 1 (dh Zeile 1, Kopfzeile) beibehalten möchten, sagen Sie dies.
- Ich habe das nicht an einer großen Datei getestet.
awk
sollte keine Probleme mit einer großen Anzahl von Zeilen (Zeilen) haben. Tausend Spalten (Felder) könnten ein Thema sein, aber ich bezweifle es.